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真的伤不起啊,太浪费时间了