Unity下使用的三种Json

1
2
3
4
5
6
7
8
9
//在脚本里用string写json的时候,里面的双引号得变为单引号,否则报错
//例如:
string json = @"{
                    'post':{
                        'Title':'修改JArray和JObject',
                        'Link':'http://write.blog.csdn.net',
                        'Description':'这是一个修改JArray和JObject的演示案例',
                        'Item':[]
                    }

1. LitJson 属于第三方 也可以在我的博客资源里下载-------不好用

2.unity自带的json解析 ---需要一 一对应

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[Serializable]//序列化   -----必须加,不然读写都不能成功
 public class Persons
 {
     public Person[] persons;
 }

[Serializable]//序列化   -----必须加,不然读写都不能成功
 public class Person
 {
     public string name;
     public int age;
 }

public class Hehe : MonoBehaviour {
     void Start () {
         // 创建Json
         Person[] p = new Person[1]; p[0] = new Person();
         p[0].name = "张三";p[0].age = 15;
       
 
         Persons per = new Persons();
         pp.persons = p;
         string jsonStr = JsonUtility.ToJson(per);//写
 
         //解析Json
         Persons newPersons = JsonUtility.FromJson<Persons>(jsonStr);//读
     }  
 }

3.Newtonsoft.Json ----应该属于最好用的 不需要一 一对应 在我的博客资源里下载 完成后包dll拖到unity里然后引用

using Newtonsoft.Json;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Persons
 {
     public Person[] persons;
 }

public class Person
 {
     public string name;
     public int age;
 }

public class Hehe : MonoBehaviour {
     void Start () {
         // 创建Json
         Person[] p = new Person[1]; p[0] = new Person();
         p[0].name = "张三";p[0].age = 15;
       
 
         Persons per = new Persons();
         pp.persons = p;
         string jsonStr = JsonConvert.SerializeObject(per);//写
 
         //解析Json
         Persons newPersons = JsonConvert.DeserializeObject<Persons>(jsonStr);//读
     }  
 }

也可以增删改查------不做叙述,自行百度