【问题标题】:How do I parse the below dynamic JSON如何解析以下动态 JSON
【发布时间】:2019-08-16 15:03:49
【问题描述】:

我有一个格式错误的 json。我想从那个 json 中取出状态和订单 ID。尝试使用对象解析 JSON,但没有得到结果。请帮忙, 我的 Json,

    {
        "formname": [
            "Sale_Order_API",
            {
                "operation": [
                    "add",
                    {
                        "values": {
                            "Order_ID": "1250",
                            "Email": "xyz@yws.in",
                            "Order_Value": "100",
                            "Restaurant_Name": "HiTech",

                            "Order_Date": "13-Aug-2019",

                        },
                    "status": "Failure, Duplicate values found for 

    'Order ID'"
                    }
               ]
            }
    ]
}

请帮忙。 这是我的第一个问题,请忽略错误。

我尝试过类似的方法,但无法获得内在价值

dynamic resultdata = json_serializer.DeserializeObject(postData);

【问题讨论】:

  • 您遇到什么错误?您以 JSON 格式编写的内容与代码中的内容完全一致吗?定义为不带双引号的字符串?
  • 我没有遇到任何错误。只是不知道下一步该怎么做。这是我从 api 收到的确切 json。
  • “没有得到结果”是什么意思?解析 JSON 时发生了什么?
  • 解析无效 JSON 时没有出错?这很难相信。您的 JSON 未通过验证。

标签: c# asp.net json.net javascriptserializer


【解决方案1】:

如果我理解正确,您想反序列化这个 JSON。在“http://json2csharp.com/#”上,您可以从 JSON 生成 C# 类。或者你自己的。网上有很多教程。如果您提供 Json 值的类称为“JSONResult”,则可以按如下方式访问这些值

var resultdata = JsonConvert.DeserializeObject<JSONResult>(postData);

JSONResult outPut = resultdata;

Console.WriteLine(outPut.formname[0]);

但我查看 JSON 格式的时间越长,我就越困惑。你从哪里得到 JSON?来自 API?

【讨论】:

  • 如果您使用的是 visualstudio,您可以执行编辑 -> 特殊粘贴 -> 将 JSON 粘贴为类
猜你喜欢
  • 2015-12-09
  • 2014-05-23
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 2019-12-27
  • 1970-01-01
  • 2018-03-08
  • 2021-08-12
相关资源
最近更新 更多