【问题标题】:How to parse this Complex JObject in Xamarin Forms如何在 Xamarin 表单中解析这个复杂的 JObject
【发布时间】:2018-01-10 02:22:25
【问题描述】:

出于安全目的,我将 ASP.NET(Azure 移动应用服务)用于我的 Xamarin Forms 应用程序作为 LogicApp 和我的 Xamarin Forms 之间的中间件。当我不使用中间件时,它返回简单的 JSON 数据,我可以解析它,但是当我使用中间件时,它会返回一些我无法解析的复杂 JSON 数据。每当我尝试使用JObject.Parse 解析它时,应用程序都会立即强制关闭。这是我要解析的数据示例:

{\"Table1\":[{\"Point\":223,\"AmountPoint\":89200.0}]}

知道如何在 Xamarin Forms 中解析它吗?

【问题讨论】:

  • 如果使用 JObject.Parse 导致崩溃,则将其包装在 try/catch 中以找出异常是什么
  • 所以实际上我可以使用 JObject.Parse 来解析复杂的 json 数据?并且错误在我的代码中而不是我解析它的方式?因为有一秒钟我认为“也许这不是解析这个 json 数据的方法,也许还有另一种解析它的方法”,因为我之前从未遇到过这种类型的 json 数据
  • 你的 JSON 中是否真的有这样的反斜杠,或者你在调试器中查看?
  • 是的,在我使用中间件并直接通过逻辑应用程序获取数据之前,那里有一个黑点,我得到的数据是这样的 {Table1 : {Point: 223 , AmountPoint: 89200.0} }并且我能够使用 JObject.Parse 解析它,但是当我使用中间件时它会以某种方式发生变化

标签: c# json parsing xamarin.forms json.net


【解决方案1】:

您的中间件必须对 JSON 进行双重序列化。然后,您将需要对其进行两次解析——一次获取“真实”JSON,然后第二次获取实际数据。如果您之前使用过JObject.Parse,您应该可以这样做:

JObject obj = JObject.Parse((string)JToken.Parse(doubleSerializedJson));

【讨论】:

    猜你喜欢
    • 2021-08-18
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多