在做项目的时候,从服务端获取到一段神奇的数据,类型是1,2,3之类的数据,或者变量是1,2,3之类的数据,这些是没办法通过反序列化,因为类中的定义你完全没有办法定义类型是1,2,3,类型。而且变量的名称你也没办法定义为纯数字,这个时候就用到了litJson的Jsondata功能。
JsonData jsonData = JsonMapper.ToObject(data);
//List<string> keys = new List<string>();
JsonData jsonData2 = jsonData["rspUserInfo"];
foreach (var VARIABLE in jsonData2)
{
Debug.LogError(VARIABLE);
}
foreach (var item in jsonData2["attrInfo"].Keys)
{
DataMgr.UserUIInfoData.Add(item, jsonData2["attrInfo"][item].ToString());
}
for (int n = 0; n < jsonData2["props"].Count; n++)
{
//foreach (var item in jsonData2["props"][n].Keys)
//{
DataMgr.UserUIInfoData.Add(jsonData2["props"][n]["propId"].ToString(), jsonData2["props"][n]["propCount"].ToString());
//}
}
使用如上代码进行数据的计息,其中,data就是要解析的字符串。jsonData2为反序列化后字段repUserInfo的属性。其中要获取到值的时候可以遍历其key。
带上要解析的数据