【问题标题】:Parsing Facebook JSON Game Request Data解析 Facebook JSON 游戏请求数据
【发布时间】:2016-05-23 05:46:47
【问题描述】:

我目前正在使用 facebook,并且我有一个回调方法,可以将 JSON 结果作为字符串返回。

结果格式如下:

{
"request": "420211088059698",
"to": [
    "100002669403922",
    "100000048490273"
]
}

我将如何将“to”解析为某种列表?这样我就可以使用这个列表来验证用户确实确实向朋友发送了玩游戏的请求。

谢谢大家

【问题讨论】:

    标签: c# json facebook unity3d


    【解决方案1】:

    您可以使用 JSON.Net 反序列化为以下结构的类:

    Class Test{
    public string request {get;set;}
    public List<string> to {get;set;}
    }
    

    然后只需在 JSON 字符串上调用反序列化方法来获取对象。

    Test obj = JsonConvert.DeserializeObject<Test>(jsonstring);
    

    【讨论】:

      【解决方案2】:

      您需要将其转换为类数组。这可以通过 Unity 内置的 JsonUtility API 来完成。

      JsonUtility.ToJson 将类转换为 Json。

      JsonUtility.FromJson 将 Json 转换回类。

      访问hereJson 数组示例。

      编辑:

      你要求一个例子:

      class FacebookInfo
      {
          public string request;
          public string[] to;
      }
      
      void Start()
      {
          FacebookInfo fbInfo = new FacebookInfo();
          string fbJson = "{\"request\": \"420211088059698\",\"to\": [\"100002669403922\",\"100000048490273\"]}";
          fbInfo = JsonUtility.FromJson<FacebookInfo>(fbJson);
      
          //Show request
          Debug.Log("Request: " + fbInfo.request);
      
          //Show to arrays
          for (int i = 0; i < fbInfo.to.Length; i++)
          {
              Debug.Log("To : " + fbInfo.to[i]);
          }
      }
      

      使用 Unity 5.4.0.13B 测试,看起来 Unity 现在支持 Json 数组,无需编写额外代码。请确保您拥有我提到的这个版本。

      【讨论】:

      • 我的 JSON 数据似乎没有提供的示例那么复杂。那么我该如何解析这些数据呢?
      • @coder_4_life25 举了个例子。它不是。使用 Unity 5.4.0.13B 并且成功了。我认为 Unity 更新了他们的 API,这样你就不需要多费功夫了。您不需要像以前那样需要外部库,并且应该避免使用外部库,因为内置版本比外部版本快 10 倍。此声明基于我的测试。
      • @Programmer 是的,我认为内部 JSON 解析器非常快
      【解决方案3】:

      只需使用 SimpleJson http://wiki.unity3d.com/index.php/SimpleJSON ,不需要额外的工作,查看示例,您需要做的就是使用 JSON.Parse 和一个数组,并且可以像 data["request"] 一样使用它来获取值,希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-03
        • 2021-07-25
        • 2012-06-18
        相关资源
        最近更新 更多