Json parsing text need to reference LitJson.dll
Download
link: https://pan.baidu.com/s/1ga8yFEZYLt9ZBPd3HUtODQ Password: qkj8
There are two types Json
[] --- represents a collection of
{----} denotes the object
string jsonstr="{ "heros":[{"name":"chneg","power":"90" },{"name":"li","power":"190"}]}"
string jsonstr="{"name":"cheng wenhao","power":10}"----------------表示一个json对象
Points
It can be converted into a base-type string Json
2 custom type may be converted to a text string Json
3 is not a special type of text into a string
4 sets may be converted to a string of text, the dictionary can not be directly converted to text json
5 two common methods
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);
Case
1 is converted into a string of several ways Json
a custom type is converted into a string 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 create their own text string conversion 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 is converted into a collection of string 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 created manually Json text
string p1Str = @"[{'id':'1000','name':'damon','age':18},{'id':'1001','name':'damon01','age':19}]";
Debug.Log(JsonMapper.ToObject(p1Str));