using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
using System.IO;
public class WRJson : MonoBehaviour
{
private string filePath;
private void Awake()
{
filePath = Application.dataPath + "/Susie.text";
}
/// <summary>
/// 方法一:
/// </summary>
private void Start()
{
JsonWriter jw = new JsonWriter();
jw.WriteArrayStart();//json里面的中括号
jw.WriteObjectStart();//json里面的花括号
jw.WritePropertyName("Name");
jw.Write("Susie");
jw.WriteObjectEnd();//花括号括回去
jw.WriteObjectStart();//json里面的花括号
jw.WritePropertyName("Sex");
jw.Write("girl");
jw.WriteObjectEnd();//花括号括回去
jw.WriteObjectStart();//json里面的花括号
jw.WritePropertyName("Age");
jw.Write("23");
jw.WriteObjectEnd();//花括号括回去
jw.WriteArrayEnd();////中括号括回去
string json = jw.ToString();
//StreamWriter sw;
//if (File.Exists(filePath))
//{
// sw = File.AppendText(filePath);
//}
//else
//{
// sw = File.CreateText(filePath);
//}
//sw.Close();
File.WriteAllText(filePath, json);//[{"Name":"Susie"},{"Sex":"girl"},{"Age":"23"}]
//读取数据:
//JsonData jsonData = JsonMapper.ToObject(File.ReadAllText(filePath));
JsonData jsonData = JsonMapper.ToObject(json);
//修改
jsonData[0]["Name"] = "Laurence";//jsonData[0][0] = "Laurence";
jsonData[1]["Sex"] = "boy";//jsonData[1][0] = "boy";
jsonData[2]["Age"] = "25";//jsonData[2][0] = "25";
//再写入:
JsonWriter jw1 = new JsonWriter();
jsonData.ToJson(jw1);
string json1 = jw1.ToString();
File.WriteAllText(filePath, json1);//[{"Name":"Laurence"},{"Sex":"boy"},{"Age":"25"}]
}
/// <summary>
/// 方法二: 参考网址: https://www.jianshu.com/p/7804a7942849
/// </summary>
//void Start()
//{
// JsonData jsonData = new JsonData();
// jsonData["name"] = "Susie";
// jsonData["age"] = 23;
// jsonData["sex"] = "girl";
// string strJson = jsonData.ToJson();
// File.WriteAllText(filePath, strJson);//转化成 json 格式字符串
// // JsonData jsonData2 = JsonMapper.ToObject(strJson);//转化成json格式数据
// // Debug.Log(jsonData2["name"]);//Susie
// jsonData["info"] = new JsonData();
// jsonData["info"]["phone"] = 123456;
// jsonData["info"]["address"] = "shanghai";
// strJson = jsonData.ToJson();
// File.WriteAllText(filePath, strJson);
// //JsonData jsonData3 = JsonMapper.ToObject(strJson);
// // Debug.Log(jsonData["info"]["phone"]);// Debug.Log(jsonData["info"][0]);
// JsonData data = new JsonData();
// data.Add(1);
// data.Add(2);
// data.Add(3);
// data.Add("Launch!");
// jsonData["myArray"] = data;//数组添加
// strJson = jsonData.ToJson();
// File.WriteAllText(filePath, strJson);
// for(int i=0;i<jsonData.Count;i++)
// {
// Debug.Log(jsonData[i]);
// if(jsonData[i].IsArray)
// {
// Debug.Log(jsonData[i][3]);//数组解析
// }
// }
//}
}