Unity项目中的我的JSON反序列化突然停止了一些输入。我正在使用JsonFX。
JSON:
{"CloudsRoot": [
{
"id": "94",
"campaign_id": "32",
"text": "CustomImage",
"bubble_num": "-1",
"img1_name": "59e72a6f1a341",
"img2_name": "59e72a6f1b885"
},
{
"id": "95",
"campaign_id": "32",
"text": "Default Image",
"bubble_num": "4",
"img1_name": "4",
"img2_name": "4"
}]}
数据模型:
using System.Collections.Generic;
public class CloudsRoot {
public List<Clouds> Clouds{ get; set; }
}
public class Clouds {
public string id { get; set; }
public string campaign_id{ get; set; }
public string text { get; set; }
public string bubble_num { get; set; }
public string img1_name { get; set; }
public string img2_name { get; set; }
}
反序列化方法:
public CloudsRoot Deserialize(jsonString) {
CloudsRoot responseObject = JsonReader.Deserialize<CloudsRoot>(jsonString);
return responseObject;
}
返回的是一个CloudsRoot
对象,里面有一个空List。我尝试序列化一个Cloud
对象,但它确实有效。更糟糕的是,我使用相同的方法和数据模型结构(只有变量名称不同)反序列化了几个不同的JSON片段,它们都有效。
我确信数据模型是正确的,JSON是正确的,并且没有拼写错误。我尝试在一个新的Unity项目中重写代码,结果是一样的。有证据表明JSON片段有点错误,但我现在几个小时都找不到问题。
我非常感谢任何意见。
编辑:请不要关闭这个问题,这不是重复。我尝试使用JsonHelper,结果我仍然得到一个空数组。我也尝试了故障排除部分的所有可能的解决方案。