您的位置:首页 > Web前端 > JavaScript

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));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: