首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Newtonsoft JSON.NET反序列化动态Json字符串

使用Newtonsoft JSON.NET反序列化动态Json字符串
EN

Stack Overflow用户
提问于 2014-04-07 15:25:39
回答 1查看 27.9K关注 0票数 18

我有一个从Facebook API获得的JSON字符串,其中有一个节点的名称根据其内容而更改,例如,有时是45或58等。它可以是任何数字。我想要它的价值。如何获得它?示例:

代码语言:javascript
复制
{
"data": [
{
  "id": "1492292372_10201810786059989", 
  "created_time": "2014-04-05T09:00:54+0000"
}, 
{
  "id": "1492292372_10201804679827337", 
  "created_time": "2014-04-04T07:29:07+0000"
}, 
{
  "id": "1492292372_10201804649306574", 
  "created_time": "2014-04-04T07:10:33+0000"
}, 
{
  "id": "1492292372_10201801316823264", 
  "created_time": "2014-04-03T18:31:50+0000"
}, 
{
  "id": "1492292372_10201798962284402", 
  "created_time": "2014-04-03T06:24:47+0000"
}, 
{
  "message_tags": {
    "0": [
      {
        "id": "1492292372", 
        "name": "Yawar Sohail", 
        "type": "user", 
        "offset": 0, 
        "length": 12
      }
    ], 
    "15": [
      {
        "id": "1489845168", 
        "name": "Zeeshan Anjum", 
        "type": "user", 
        "offset": 15, 
        "length": 13
      }
    ]
  }, 
  "id": "1492292372_10201796274777216", 
  "created_time": "2014-04-02T17:57:05+0000"
}, 
{
  "id": "1492292372_10201794080482360", 
  "created_time": "2014-04-02T07:26:23+0000"
}, 

在message_tags中,有两个节点0和15,它们根据偏移量值动态变化。我需要这些节点中的名称、类型和ids。

EN

回答 1

Stack Overflow用户

发布于 2014-04-07 15:40:19

您可以将JSON反序列化为ExpandoObject

代码语言:javascript
复制
var converter = new ExpandoObjectConverter();
dynamic obj = JsonConvert.DeserializeObject<ExpandoObject>(json, converter);

它在运行时动态地将成员添加到您的对象中,并允许您在as described in this answer中迭代这些成员

代码语言:javascript
复制
foreach (var prop in obj.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public))
{
   Console.WriteLine("Name: {0}, Value: {1}",prop.Name, prop.GetValue(obj,null));
}

这样,您就可以遍历obj.message_tags以获取各个消息,并分别获取它们的所有详细信息。

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22906010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档