使用LitJson在C#中反序列化JSON对象数组
我受到Unity3d 3新安全措施的限制,无法在Web播放器应用程序中使用LitJson,否则它将无法编译 是否有一种简单的方法将此输出序列化为对象(userEcoGet.text的内容): 此代码仅输入JSON中的第一个对象:使用LitJson在C#中反序列化JSON对象数组,c#,json,serialization,unity3d,litjson,C#,Json,Serialization,Unity3d,Litjson,我受到Unity3d 3新安全措施的限制,无法在Web播放器应用程序中使用LitJson,否则它将无法编译 是否有一种简单的方法将此输出序列化为对象(userEcoGet.text的内容): 此代码仅输入JSON中的第一个对象: using UnityEngine; using System.Collections; using LitJson; ... public EcoData localEcoData; ... localEcoData = JsonMapper.ToObject<
using UnityEngine;
using System.Collections;
using LitJson;
...
public EcoData localEcoData;
...
localEcoData = JsonMapper.ToObject<EcoData>(userEcoGet.text);
...
public class EcoData
{
public string building_id;
public string building_level;
public string workers;
public string building_health;
}
谢谢,伙计 我怀疑问题出在JSON本身。它的格式不正确。要将其解析为JSON数组,您需要使用以下格式:
{
result:[
{"building_id":"1","building_level":"0","workers":"0","building_health":"100"},
{"building_id":"2","building_level":"0","workers":"0","building_health":"100"},...
{"building_id":"32","building_level":"0","workers":"0","building_health":"100"}
]
}
如果您没有对JSON的控制权,那么您可能需要拆分字符串并将每个字符串视为单个JSON对象,并将数组中的每个元素转换为C#object类型。我怀疑问题在于JSON本身。它的格式不正确。要将其解析为JSON数组,您需要使用以下格式:
{
result:[
{"building_id":"1","building_level":"0","workers":"0","building_health":"100"},
{"building_id":"2","building_level":"0","workers":"0","building_health":"100"},...
{"building_id":"32","building_level":"0","workers":"0","building_health":"100"}
]
}
如果您没有对JSON的控制权,那么您可能需要拆分字符串,将每个字符串视为单个JSON对象,并将数组中的每个元素转换为C#对象类型
[{"building_id":"1","building_level":"0","workers":"0","building_health":"100"}{"building_id":"2","building_level":"0","workers":"0","building_health":"100"}...{"building_id":"32","building_level":"0","workers":"0","building_health":"100"}]
{
result:[
{"building_id":"1","building_level":"0","workers":"0","building_health":"100"},
{"building_id":"2","building_level":"0","workers":"0","building_health":"100"},...
{"building_id":"32","building_level":"0","workers":"0","building_health":"100"}
]
}