首页 > 解决方案 > 用c#解析json对象

问题描述

如何使用 c# 解析 json 对象,如下所示?所以 MessageBox.show (message);

所以; MessageBox.Show(结果[0].id);

`

 {
    "message":"Customer updated",
    "result":[
        1,
       [
          {
             "id":1,
             "customer_name":"Andrew",
             "customer_lastname":"freeman",
             "customer_identity":"12345678",
          }
       ]
    ]
 }

`

标签: c#json

解决方案


您可以安装 Newtonsoft.Json Nuget 包,然后使用它来访问 JSON 对象,如下所示:

using Newtonsoft.Json;

MessageBox.Show(myJsonObject["result"][0]["id"]);

假设您的 json 对象存储在 myJsonObject 变量中。

要将 json 存储在 JObject(或类)中,您可以对其进行序列化/反序列化或手动创建 JObject:

var myJObject = new JObject(
                                    new JProperty("message", "Customer updated"),
                                    new JProperty("result", 
                                        new JArray(
                                            new JObject(
                                                new JProperty("id", 1),
                                                new JProperty("customer_name", "Andrew"),
                                                new JProperty("customer_lastname", "freeman"),
                                                new JProperty("customer_identity", "12345678")
                                            )   
                                        )
                                    )
                                );

虽然看起来您的 JSON 可能无效 - 您的结果数组中有一个没有属性名称的数组。

您可以将结果对象直接存储在第一个数组中,就像我在上面的示例中所做的那样,并删除 1 ,因为您在 id 字段中有这个:

{
    "message":"Customer updated",
    "result":[
          {
             "id":1,
             "customer_name":"Andrew",
             "customer_lastname":"freeman",
             "customer_identity":"12345678",
          }
     ]
 }

推荐阅读