gpt4 book ai didi

c# - 使用来自推特的多个细节解析 Json 数据

转载 作者:行者123 更新时间:2023-12-02 04:38:23 25 4
gpt4 key购买 nike

我从 Twitter 获得以下输出,我只想从输出中捕获以下详细信息。

  1. 网名
  2. 粉丝数量
  3. profile_image_url

问题是数据在嵌套的 Json 中。

Twitter API 输出:

[{ "contributors" : null,
"coordinates" : null,
"created_at" : "Wed Jan 29 09:18:15 +0000 2014",
"favorite_count" : 0,
"favorited" : false,
"geo" : null,
"id" : 428457050109382657,
"id_str" : "428457050109382657",
"in_reply_to_screen_name" : null,
"in_reply_to_status_id" : null,
"in_reply_to_status_id_str" : null,
"in_reply_to_user_id" : null,
"in_reply_to_user_id_str" : null,
"lang" : "en",
"place" : null,
"user" : { "contributors_enabled" : false,
"follow_request_sent" : null,
"followers_count" : 218,
"id" : 609465835,
"id_str" : "609465835",
"is_translation_enabled" : false,
"is_translator" : false,
"lang" : "en",
"listed_count" : 3,
"location" : "Still alpha as hell.",
"verified" : false
}
},
{ "contributors" : null,
"coordinates" : null,
"created_at" : "Wed Jan 29 09:18:15 +0000 2014",
"favorite_count" : 0,
"favorited" : false,
"geo" : null,
"id" : 428457050109382657,
"id_str" : "428457050109382657",
"in_reply_to_screen_name" : null,
"in_reply_to_status_id" : null,
"in_reply_to_status_id_str" : null,
"in_reply_to_user_id" : null,
"in_reply_to_user_id_str" : null,
"lang" : "en",
"place" : null,
"user" : { "contributors_enabled" : false,
"follow_request_sent" : null,
"followers_count" : 1218,
"id" :33333,
"id_str" : "609465835",
"is_translation_enabled" : false,
"is_translator" : false,
"lang" : "en",
"listed_count" : 3,
"location" : "N",
"verified" : false
}
}]

输出是

Json Output

我正在尝试使用 Newtonsoft Json 反序列化,但失败了。

代码如下:

        dynamic dynObj = JsonConvert.DeserializeObject(twitAuthResponse);
foreach (var data in dynObj.user.data)
{
//Console.WriteLine("{0}", data.name);
foreach (var fql in data.user)
{
foreach (JProperty keyValue in fql)
{
Console.WriteLine("\t{0} : {1}", keyValue.Name, keyValue.Value);
}
}
}

上述代码返回错误“‘Newtonsoft.Json.Linq.JArray’不包含‘user’的定义”。

有人可以帮帮我吗?提前致谢!

最佳答案

请看下面的文章:http://www.hanselman.com/blog/NuGetPackageOfTheWeek4DeserializingJSONWithJsonNET.aspx

您需要指定要反序列化的对象的类型,而不是使用动态对象。

类似于:var twitterJson = JsonConvert.DeserializeObject<TwitterResponse>(twitAuthResponse);

只要此 .NET 对象与 JSON 的模式匹配,它就会自动映射,您可以访问所有强类型的属性和值。

关于c# - 使用来自推特的多个细节解析 Json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21431330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com