当前位置: 首页 > 工具软件 > SimpleJSON > 使用案例 >

Unity Json插件-SimpleJson|LitJson

楚冷勋
2023-12-01

SimpleJson:

1>读取json 数据 

public void ReadConfig()
    {       
        string str = FileManager.GetUidFromJson(ConstPath.canonConfig);
        var json = SimpleJSON.JSON.Parse(str);
        if (System.Convert.ToBoolean(json["auto"].AsInt))  //将0 和1 转成bool
        {
           print(json["light"].Value);
        }
    }

2>修改json键值内容再重新保存成json数据

public void WriteConfig()
    {
        string str = FileManager.GetUidFromJson(ConstPath.canonConfig);
        var json = SimpleJSON.JSON.Parse(str);
        json["light"] = uid;
        json["auto"] = "1";

        //save method
        //FileManager.SaveValueToJson(ConstPath.canonConfig, json.ToString());
    }

3>读取json数据中[]中内容注意索引个数{}

public static void ReadValueFromJson(string filepath,string key)
    {
        byte[] data = File.ReadAllBytes(filepath);
        string str = System.Text.UTF8Encoding.Default.GetString(data);
        var json = SimpleJSON.JSON.Parse(str);
        //for (int i = 0; i < json["Time"].Count; i++)
        //{
        //    MonoBehaviour.print(json["Time"][i].AsInt);
        //}
        //MonoBehaviour.print(json["Time"][0]["time2"]);
    }

LitJson:

1>JsonData生成json数据:{"name":"wiki","age":11}

JsonData data = new JsonData();

        data["name"] = "wiki";

        data["age"] = 11;

        string  json= data.ToJson();

1-1> jsonData 生成带中文json数据

 JsonData content = new JsonData();
            content["age"] = 0;

SaveValueToJson("json.txt", System.Text.RegularExpressions.Regex.Unescape(JsonMapper.ToJson(content)));

2>对象中嵌套对象:{"name":"wiki","msg":{"age":11}}

JsonData data = new JsonData();

        data["name"] = "wiki";

        data["msg"] = new JsonData();

        data["msg"]["age"] = 28;

string  json = data.ToJson();

3>Json解析到JsonData

JsonData jsonData = JsonMapper.ToObject(json);

  print(jsonData["name"] +"-" + data["msg"]["age"]);

重要提示:对于网络传输最好用litJson解析json数据,SimpleJson真的伤不起啊,太浪费时间了

 类似资料: