c语言 json教程 pdf,[专栏作家]MemoryC杂记(一)【零基础Json解析教程】

原标题:[专栏作家]MemoryC杂记(一)【零基础Json解析教程】

前言

群里有些零基础小伙伴不会json解析,问得多了讲起来也挺劳时。这里我们面向零基础的童鞋谈谈如何解析json数据。本篇以litjson为解析工具,

什么是json?

简单的说:json是一种数据格式,以string类型存储,是一种可嵌套的键值对。

json数据可分为2类:Json对象、Json数组

json对象被{ }抱着,而json数组在 [ ]的怀里。

1、最简单的json对象

{

"name":"张三",

"age":"16",

"wife":"李四"

}

这是个json对象,被{ }抱着,名叫张三,二八妙龄,娶妻李四。

里面有3个键值对,被","隔开。

每个键值对的"键"在":"之前,值在":"之后。

2、嵌套json对象

{

"name":"张三",

"age":"16",

"wife":{

"name":"李四",

"age":"19",

"add":"北京"

}

}

这里可以看到,wife的值变成了一个被{ }抱着的json对象,而不仅仅是一个名字代号。

wife这个json对象名叫李四,年方19(张三报金砖),京城人。

3、嵌套json数组

{

"name":"张三",

"age":"16",

"wife":{

"name":"李四",

"age":"19",

"add":"北京",

"son":[

{

"name":"王二",

"birth":"2015"

},

{

"name":"王三",

"birth":"2016"

},

{

"name":"王四",

"birth":"2017"

}

]

}

}

这个wife带来仨儿子,wife的son对应的值是一个json数组,数组里面又有3个json对象

可以看到json数组也可以作为键值对的"值"出现。

如何解析Json?

1、找目标

找目标就是你要明白我们想要的是什么数据,比如对应上面的json数据 我们想要把张三老婆所有儿打出来。

2、逐步解

按照json字符串到json对象——获取wife对象——获取son数组——遍历son数组,获得每个son对象——获得每个son对象的属性并打出来的顺序。

2.1 获取张三json对象

JsonData zsObject JsonMapper.ToObject (json);

这句话把json字符串变成了张三这个json对象

2.2 捕捉张三老婆这个json对象

JsonData wifeObject =zsObject ["wife"];

2.3 获取张三老婆的儿子json数组

JsonData sonArray=wifeObject ["son"];

2.4 遍历张三老婆的儿子们sonArray,获得每一个儿子json对象

for (int i = 0; i

JsonData sonObject=sonArray;

}

2.5 对于每个儿子json对象,把他打出来

for (int i = 0; i

JsonData sonObject=sonArray;

Debug.Log (sonObject["name"].ToString()+sonObject["birth"].ToString());

}

技巧

命名:有意义、易牢记,"键名+类型"最好。如:wifeObject代表"wife"对应的json对象;sonArray代表"son"对应的json数组

对象先找键,数组轮一遍。 如果当前json数据是json对象,进行下一步的时候肯定是根据键值对的”键”获取相应的值(普通值、对象、数组);如果当前json数据是json数组,那么就遍历这个数组获取数组中的每一个json对象,再进行处理。

瞄准方能手快。当你拿到一个json数据,看起来很杂乱无章不好解析时,请自己建个文本把json字符串粘进去,参照上面的格式排一下版,视野瞬间清晰,手速立马跟上。返回搜狐,查看更多

责任编辑:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值