Json专题01
2018-08-31 15:07
134 查看
解析Json文本需要引用LitJson.dll
下载地址
链接:https://pan.baidu.com/s/1ga8yFEZYLt9ZBPd3HUtODQ 密码:qkj8
Json中有两种类型
[ ]——-表示集合
{ }———-表示对象
string jsonstr="{ "heros":[{"name":"chneg","power":"90" },{"name":"li","power":"190"}]}" string jsonstr="{"name":"cheng wenhao","power":10}"----------------表示一个json对象
要点
1 基础类型可以转换成Json字符串
2 自定义类型也可以转成Json字符串文本
3 特殊类型不能转换成字符串文本
4 集合可以转换成字符串文本,字典也不能直接转换成json文本
5 常用方法两个
public static JsonData ToObject(TextReader reader); public static JsonData ToObject(string json); public static T ToObject<T>(JsonReader reader); public static T ToObject<T>(TextReader reader); public static T ToObject<T>(string json);
案例
1转换成Json字符串的几种方式
a 自定义类型转换成json字符串
public class Address { public string id; public string address; public string iphoneNumber; public override string ToString() { return string.Format("id={0},address={1},iphoneNumber={2}",id,address,iphoneNumber); } } public class Person { public string name; public Address address; public int id; public string sex; public int age; public string pos; public override string ToString() { return string.Format("id={0},name={1},sex={2},age={3},address={4}",id,name,sex,age,address); } } public void Test() { Address address = new Address { address = "beijin", id = "14号楼", iphoneNumber = "13511065388" }; Person p1 = new Person(); p1.name = "damon"; p1.id = 1000; p1.age = 23; p1.sex = "nan"; p1.address = address; p1.pos = Vector3.zero.ToString(); //将类转换成json字符串 string jsonStr = JsonMapper.ToJson(p1); Debug.Log(jsonStr); }
b 自行创建JsonData 转换Json字符串文本
public void Test() { JsonData jsonData = new JsonData(); jsonData["name"] = "damon"; jsonData["id"] = 1000; jsonData["address"] = new JsonData(); jsonData["address"]["id"] = "14号楼"; jsonData["address"]["address"] = "Beijing"; //将JsoData转换成json字符串类型 Debug.Log(JsonMapper.ToJson(jsonData)); }
c 将集合转换成json字符串
public void Test() { //将集合转换成json字符串 List<Person> list = new List<Person>(); Person p3 = new Person { id = 1000, name = "damon",sex="nan",pos="----",address=new Address { id="109",address="***********",iphoneNumber="1999"} }; Person p4 = new Person { id = 1001, name = "damon", sex = "nan", pos = "----", address = new Address { id = "109", address = "***********", iphoneNumber = "1999" } }; list.Add(p3); list.Add(p4); string jsonStr2 = JsonMapper.ToJson(list); Debug.Log(jsonStr2); }
d 手工创建Json 文本
string p1Str = @"[{'id':'1000','name':'damon','age':18},{'id':'1001','name':'damon01','age':19}]"; Debug.Log(JsonMapper.ToObject(p1Str));
相关文章推荐
- BUPT复试专题—寻找变化前01序列(2016)
- 在ASP.NET MVC中使用Knockout实践01,绑定Json对象
- 专题:01分数规划
- OSGi专题学习之 01 OSGi是什么
- 对于json数据的应用01
- json学习笔记_01_json语法基本格式并s会用java读取json
- 01_基础框架_目录结构与Json配置
- iReport专题学习之入门简介01
- 2013-11-18 图专题之01Dijkstra算法(思维逻辑题)
- 戴文的Linux内核专题:01介绍
- 空间谱专题01:信号模型
- 关于李三影【Unity 游戏开发教程】装备系统 - 01. JSON数据创建与使用要做笔记的地方
- 01-spring-专题IOC
- DP专题->01背包
- 无线安全专题01--kali破解WPA
- 01 背包 专题
- 【Tensorflow专题-01】深度学习应用介绍及tensorflow基本使用
- 【Java基础专题】编码与乱码(01)---编码基础
- Python 专题五 XML JSON解析
- python小专题——JSON