LitJson是Json的一个开源项目,是针对C#的相关库;在.Net平台下处理Json格式数据的类库;
Git地址: https://github.com/LitJSON/litjson
最基础的操作
将json字符串转成对象:JsonMapper.ToObject<T>()
将对象转成json字符串:JsonMapper.ToJson()
创建Json,和Json数组
创建Json,主要通过JsonWriter类;
1 | JsonWriter jw = new JsonWriter(); |
读取多级Json数据
假设json数据的字符串是 data,它的数据结构如下:
{
“user” : “K”,
“age” : 20,
“city” : [
{“name” : “深圳”, “info”:[{“weather”:”晴”}]} ,
{“name” : “广州”, “info”:[{“weather”:”阴”}]}
]
}
读取第一级
1 | JsonData data1 = LitJson.JsonMapper.ToObject(data); |
读取第二级
1 | JsonData data2 = data1["city"]; |
读取第三级
1 | JsonData data3 = data2[0]; |
报错
在用ToObject将字符串转换为对象时,报错:
1 | MissingMethodException: Method not found: 'Default constructor not found...ctor() of XXX'. |
是因为转化为对象时找不到构造函数,无法创建实例,所以解决方案是,给要转化的类加上一个无参构造函数;