【问题标题】:How to parse Json Array not the Json string in asp.net mvc POST action method如何在 asp.net mvc POST 操作方法中解析 Json 数组而不是 Json 字符串
【发布时间】:2013-12-12 01:04:51
【问题描述】:

SendGrid 返回事件挂钩的 Json 对象数组。如何解析这个 Json 数组,记住它不是 asp.net mvc POST 操作方法中的 Json 字符串。我知道/找到所有示例来解析 Json 字符串。 我的参数类型是什么?目的 ?

我正在使用 C#、MVC 4、Json.Net。

好的,这里有一些代码。

我得到的 Json 数组每次都会有所不同。它不是一成不变的。 示例:[{name: "abc", event: "done"}, {name:"xyz", event:"processed"}] 下次,我可能会得到:[{place:"pqr", some:"value"}] 很快。

现在我的 MVC 操作方法应该如何?

public string PostJsonHere(object jsonIReceive)
{
   return "whatever"; 
}

【问题讨论】:

标签: c# asp.net-mvc-4 json.net arrays


【解决方案1】:

我希望我没看错你的问题,但我对你的问题感到困惑。如果 JSON 看起来像:

[
    {
        id: 1,
        fname: 'some',
        lname: 'guy'
    },
    {
        id: 2,
        fname: 'some',
        lname: 'guy'
    }
]

为什么不创建一个具有 Id、FName 和 LName 属性的名为 Person 的类,并使用该类的集合作为您的类型?

【讨论】:

  • 这是正确的。但是我得到的可能每次都不同。即我不知道我是否每次都会得到 id、fname、lname。我可能会得到一次 abc、xyz,下一次可能是 pqr、ksk 等。所以属性是动态的。并且属性的数量也发生了变化。就像您从 LinkedIn 收到 JSON 响应一样。每个人都不同。
  • 对同一端点的多个请求返回不同的 JSON 结构?或者说 abc.com/api/getperson/1 的请求每次都返回相同的 JSON,而对 abc.com/api/getsomethingelse/1 的请求返回的 JSON 与 getperson 不同,但每次仍然相同?如果它确实是来自同一个地方的随机 JSON 结果,我没有适合你的解决方案。我从来没有用过这样的东西,我想我也不想。
  • 实际上,JSON 是否具有指定返回内容的属性。例如,你能不能得到 { type:'someThing', xyz: 'adfadf' } 然后再得到 { type:'someThingElse', afd: 'ere' }。如果是这种情况,您可以获取类型并根据该类型确定将 JSON 解析为的内容。
  • 我在这里找到了我想要的东西 - stackoverflow.com/a/12085898/955688。感谢您的帮助!
  • 啊,这很整洁。但是当你有孩子的 json 时会发生什么?将其解析成 Dictionary 会反映原始的 json 结构吗?无论如何,干杯并记住使用解决方案编辑您的问题。
猜你喜欢
  • 2018-09-20
  • 1970-01-01
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-15
  • 2022-01-08
相关资源
最近更新 更多