JSON(JavaScript Object Notation)文件

本文详细介绍了JSON的基本概念、结构,并通过示例展示了在Android和Unity3D中生成JSON对象的方法,包括使用JsonWriter和LitJSON库。同时,文章还涵盖了JSON数组的生成与解析,以及如何解析包含复合对象的JSON数据。

1.JSON简介

JSON

2. JSON 结构

在这里插入图片描述

3.生成JSON对象(Android,Unity3D读取文件)

JsonWriter writer = new JsonWriter(); //创建json对象
writer.WriteObjectStart();		//开始写入对象
writer.WritePropertyName("name");		//写入键
writer.Write("张三");		//写入值
writer.WritePropertyName("lv");
writer.Write(1);
writer.WriteObjectEnd();		//结束写入对象

生成json对象
{"name":"张三","lv":1,"job":"法师","exp":1.1}

4.LitJSON生成JSON对象

JsonData data = new JsonData();
data["name"] = "张三";
data["lv"] = 1;
data["job"] = "法师";
data["exp"] = 1.1;

生成json对象
{"name":"张三","lv":1,"job":"法师","exp":1.1}

5.LitJson解析Json对象

JsonData data = JsonMapper.ToObject(json对象);
name = data["name"].ToString();
lv = int.Parse(data["lv"].ToString());
job =  data["job"].ToString();
exp = float.Parse(data["exp"].ToString());

6.LitJson解析Json复合对象

有一复合对象

{“name”:“Asher”,“info”:{“lv”:2,“job”:“战士”,“exp”:2.2}}

对于复合对象的解析
JsonData data = JsonMapper.ToObject(json对象);
name = data["name"].ToString();
lv = int.Parse(data["info"]["lv"].ToString());
job =  data["info"]["job"].ToString();
exp = float.Parse(data["info"]["exp"].ToString());

7.生成JSON数组

JsonWriter writer = new JsonWriter();	
writer.WriteArrayStart();
writer.Write("张三");
writer.Write(1);
writer.Write("法师");
writer.Write(1.1);
writer.WriteArrayEnd();
结果生成json数组

[“张三”,1,“法师”,1.1]

8.LitJson解析Json数组

有一JSON数组

[{“name”:“张三”,“lv”:1,“job”:“法师”,“exp”:1.1},
{“name”:“李四”,“lv”:2,“job”:“战士”,“exp”:2.2}]

对于JSON数组的解析
JsonData data = JsonMapper.ToObject(json数组);
name = data[0]["name"].ToString();
lv = int.Parse(data[0]["lv"].ToString());
job =  data[1]["job"].ToString();
exp = float.Parse(data[1]["exp"].ToString());
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay_fearless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值