Unity中使用Json解析字符串

   1、将字典转换成字符串

  

private static void JsonTest()
      {
            // 创建一个字典
            Dictionary<string, int> dic = new Dictionary<string, int>
            {
                { "human1", 001},
                { "human2", 002},
                { "human3", 003}
             };
            // 将字典转换成Json字符串
            string json = JsonConvert.SerializeObject(dic, Newtonsoft.Json.Formatting.Indented);
           
        }

2、将json字符串转成字典
// 创建一个新的字典保存结果
            Dictionary<string, int> newDic = JsonConvert.DeserializeObjectstring, int>>(json);

3、集合转成json字符串
List> list = new List>{
                new List{"human1","human2","human3"},
                new List{"1001","1002","1003"}
            };


string json = JsonConvert.SerializeObject(list, Newtonsoft.Json.Formatting.Indented);

4、将json字符串转成集合
  List> newList = JsonConvert.DeserializeObject>>(json);

        foreach (List child0 in newList)
        {
            for (int i = 0; i < child0.Count; i++)
            {
                Debug.Log(child0[i]);
            }
        }


5、将字符串转成数组
  string jsonArray= "[[" + "\"" + "human1" + "\"" + ",1,2,1],[" + "\"" + "human2" + "\"" + ",1,2,3" + "]
]";

 JArray jar = (JArray)JsonConvert.DeserializeObject(jsonArray);


        for (int i = 0; i < jar.Count; i++)
        {
            ja = (JArray)JsonConvert.DeserializeObject(jar[i].ToString());

            if (ja != null)
            {
string name=ja[0].ToString();
string str1=ja[1].ToString();
......
}
}

你可能感兴趣的:(Unity3D)