小白笔记-_-Json与对象之间的转化

来源:互联网 发布:nginx 域名无法访问 编辑:程序博客网 时间:2024/06/08 12:14

首先导入LitJson类库,编写脚本的时候需要引入using LitJson类库,然后进行操作;

1. 把对象转化成 JSON格式字符串: JsonMapper.ToJson
2. 把JSON格式字符串转化成对象: JsonMapper.ToObject

下面是我自己写的一些简单代码:

首先定义一个普通类,类名最好见名知意,写出公共的属性或字段

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

------------------------------------------------------------------

public class JsonPrictics2 : MonoBehaviour {

   void Start () 

   {
         Change();      
    }
    //JSON和对象之间的相互转化
   void Change()
    {
        //对象转化为Json
        Person p = new Person();
        p.Name = "Mary";
        p.Age = 20;
        string json_p = JsonMapper.ToJson(p);
        print(json_p);

        //Json转化成对象
        //返回一个新的对象,参数json类型
        Person p1 = JsonMapper.ToObject<Person>(json_p);
        print(p1);
    }

}





-----------------------------------------------------------------------------------------------

把 JSON 转化成对象(非泛型)

public class JsonPrictics2 :MonoBehaviour

{

void Start () {
        Json_Obj();      
    }

void Json_Obj()
    {
        //参数必须是键值对形式出现
        string json = @"{""mxy"":{""name"":""Mary"",""artist"":""SingSong"",""year"":""1999"",""Like"":[""water"",""banana""]}}";

//调用第一个key值获取Value值,因为Value是一个对象,里面有许多的键值对,写出相应的key值获取value值
        JsonData data = JsonMapper.ToObject(json);
        print("name's:"+data["mxy"]["name"]);


        string artist = (string)data["mxy"]["artist"];
        string year = (string)data["mxy"]["year"];

//拼接
        Debug.Log("Recorded by " + artist + " in " + year);
        Debug.Log("First Like : " + data["mxy"]["Like"][0]);

    }

}