关于c#:从JsonArray中提取JsonObject | 珊瑚贝

Extracting JsonObject from JsonArray


我在从 Arry 中提取 JasonObject 时遇到问题,其中包含一些没有名称的对象。我已经通过批量请求表单 graph.facebook.

获得了数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[
    {
   “code”:200,
   “headers”:[{}],
   “body”:“{
        “
id“:”255572697884115_1“,
        “
from“:{
            “
name“:”xyzk“,
            “
id“:”59788447049“},
        “
message“:”Hey“,
        “
created_time“:”20111104T21:32:50+0000“}”},
    {
   “code”:200,
   “headers”:[{}],
   “body”:“{
        “
id“:”255572697884115_2“,
        “
from“:{
             “
name“:”xyzk“,
             “
id“:”59788447049“},
        “
message“:”:P“,
        “
created_time“:”20120103T21:05:59+0000“}”}
]

现在我必须阅读包含对象的值”消息”,但我不知道如何访问数组中的对象。谁能帮帮我?

我想使用 System.Json,另外还有 Newtonsoft.Json.

在 Java 中,GetJsonObject() 很容易使用,但我怎样才能成功使用 VSC#?有一个方法 JsonValueLinqExtensions.ToJsonObject 但我不知道如何使用。 sb可以举个例子吗?

到目前为止,谢谢你,

多米尼克

  • 检查以下链接,他们可能会对您有所帮助。 stackoverflow.com/questions/2859753/… stackoverflow.com/questions/4611031/…


您可以使用 JavaScriptSerializer 对象例如

将 JSON 解析为 dynamic

1
2
3
4
5
6
var serializer = new JavaScriptSerializer();  
var result = serializer.Deserialize<dynamic>(json);
foreach (var item in result)
{
    Console.WriteLine(item[“body”][“message”]);
}
  • 谢谢您的回答。你的建议很好,但它不起作用。转换为动态是可以的,但我可以访问正文。编译器说好的,但我在 foreach 行中得到异常”对象引用未设置为对象实例”……你有什么想法吗?
  • 对不起,例外是 System.Collectios.Generic.Dictionary<string,object> 不包含 body 的定义
  • {>。这些引号必须删除,我按照以下方式进行:动态结果=JsonArray.Load(s);string st = item.body;动态结果2 = JsonObject.Parse(st);”,”link”:”https://stackoverflow.com/questions/12302374/extracting-jsonobject-from-jsonarray/12302444#comment16524135_12302444″,”body”:”嘿詹姆斯,谢谢你的回复。问题是正文由引号打开:<“body”:”{>。这些引号必须删除,我按照以下方式进行:动态结果=JsonArray.Load(s);string st = item.body;动态结果2 = JsonObject.Parse(st);
  • @DominicFrank 提供的代码将起作用。我假设当您解析为 dynamic 对象时,您可以像访问属性一样访问它。但是,如果您通过名称访问它,它就可以正常工作。另一种解决方案是实际创建一个代表每个”项目”的类,并将其直接解析为可以为您提供类型安全的类,例如项目.正文.消息。但是,您认为对您来说是更好的解决方案。


来源:https://www.codenong.com/12302374/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9827.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?