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对象,并且对其解析也是不同的。


猜你喜欢

转载自blog.csdn.net/m0_37775441/article/details/80909897
今日推荐