UNITY之Json

来源:互联网 发布:淘宝客源码采集优惠券 编辑:程序博客网 时间:2024/06/16 12:53
using UnityEngine;
using System.Collections;
using LitJson;//需要导入LJR资源
public class JsonParse : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
        //createJsonData ();
        //parseJsonArray ();
        PlayerJson ();
    }
    
    // Update is called once per frame
    void Update () {
    
    }

    void createJsonData(){
        JsonData dada = new JsonData ();
        dada ["name"] = "xiaoming";
        dada ["age"] = 15;
        dada ["sex"] = "male";
        string strJson = dada.ToJson ();
        print (strJson);

        JsonData data02 = new JsonData ();
        data02 ["name"] = "xiaohua";
        data02 ["options"] = new JsonData ();
        data02 ["options"] ["sex"] = "male";
        data02 ["options"] ["age"] = 25;
        strJson = data02.ToJson ();

        Debug.LogFormat ("{0},{1}", data02 ["name"], data02 ["options"] ["age"]);
        JsonData newData = JsonMapper.ToObject (strJson);
        newData ["name"] = "huazai";newData ["sex"] = "female";
        Debug.LogFormat ("{0},{1}", newData ["name"], newData ["options"] ["age"]);

        strJson = data02.ToJson ();
        print (strJson);//{"name":"xiaohua","options":{"sex":"male","age":25}}
    }

    void parseJsonArray(){

        //string arrayJson = "{'name':'taobao','id':10,'item':[{'itemid':1001,'itemname':'dtao1'},{'itemid':1002,'itemname':'dtao2'}]}";
        //    string path = Application.dataPath;//:/Users/students/XmlPlayerPrefs/Assets

        string path = Application.streamingAssetsPath;
        string fileName = "MyJson01.json";
        string strJson = FileManager.loadFile (path,fileName);

        print (strJson);

        JsonData jd = JsonMapper.ToObject (strJson);

        print ("name: "+jd["name"]);
        jd ["name"] = "xiugai";
        print ("id: "+jd["id"]);//修改

        JsonData jsonArray=jd["item"];
        if(jsonArray.IsArray){
            for (int i = 0; i < jsonArray.Count; i++) {
                print ("itemid: "+jsonArray[i]["itemid"]);
                print ("itemname: "+jsonArray[i]["itemname"]);
            }
        }

        print ("Json.tostring:"+jd.ToString());//:Json.tostring:JsonData object
        string info = jd.ToJson ();
        FileManager.CreateOrWriteConfigFile (path,fileName,info);//讲修改写入文件

    }

    void PlayerJson(){
        Player p = new Player ();
        p.Name = "zhangsan";
        p.sex="male";
        p.age = 20;

        string strJson = JsonMapper.ToJson (p);
        print(strJson);

        Player pt = JsonMapper.ToObject<Player> (strJson);
        print (pt.Name);
    }

}



using UnityEngine;
using System.Collections;
using System.IO ;
public class FileManager  {

    public static void CreateOrWriteConfigFile(string path,string fileName,string info){
        File.WriteAllText (path+"//"+fileName,info);
    }
    public static void DeleteFile(string path,string fileName){
        string deleteStr = path + "//" + fileName;
        File.Delete (deleteStr);
    }
    public static string loadFile(string path,string fileName){
    
        string readPath = path+ "//"+fileName;
        FileInfo info = new FileInfo (readPath);
        if (info.Exists) {
            string text = File.ReadAllText (readPath);
            return text;
        } else {
        
            return null;
        }
    }
    
}


using UnityEngine;
using System.Collections;

public class Player  {


    private string name;
    public int age;
    public string sex;
    public string Name {
        get{ return name;}
        set{ name = value;}
    }
    
}


//MyJson01.Json

{"name":"xiugai","id":10,"item":[{"itemid":1001,"itemname":"dtao1"},{"itemid":1002,"itemname":"dtao2"}]}

0 0
原创粉丝点击