0

我在 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 是正确的并且没有错别字。我尝试在一个新的统一项目中重写代码,结果是一样的。有证据表明 JSON 片段存在某种错误,但我已经好几个小时没能找到问题所在。

我将不胜感激任何意见。

编辑:请不要关闭这个问题,它不是重复的。我尝试使用 JsonHelper,结果仍然得到一个空数组。我也尝试了故障排除部分的所有可能解决方案。

4

0 回答 0