json解析中的误区


问题描述:解析不出json对象数据

本人在客户端组建了一个json串,形如下图:

提交到后台,后台调用PHP文件,在PHP文件中接收该json串,并将其传递给一个C文件去处理。我在C文件中解析json中的data时开始出现问题,解析不出来data的信息,也解不出来”ADDR”,”AID”,”chan”等信息。

我们先看一下客户端发送代码,如下:

可以看出我发送的是一个json字符串。我们在看一下PHP接收文件代码,如下:

可以看到我用一个变量接收json串并将其传递给C文件的。接下来我在C文件中解析该json串。

是按照解析json对象的方式解析AID的值的。

原因分析:

       当PHP接收到json串的时候,将json串赋值给$json 而在PHP文件中赋值语句将json串转化成了字符串,而在C文件中无法按照json对象解析data的原因也是这个,这里json是json串而不是json对象,所以是不可能解析成功的。

 

解决办法:

       在C文件中使用使用下边的函数,从json串中解析出data数据,在对该数据进行解析就可以很简单的解析出来了。

       

启示:

       Json字符串是字符串,是为了便于传输。一般情况下我们在接收到json串的时候都会将json串转化一下成为json对象,方便解析。所以我们要清楚我们接收到的是json字符串还是json对象,并且对其解析也是不同的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值