c# - 在 C# 中解析 Json rest api 响应

我正在尝试使用 C# 从 rest api json 响应中提取一个值。

我有以下代码:

client.BaseUrl = "https://api.cloud.appcelerator.com";
request.Resource = "/v1/chats/create.json?key=" + cac.AppCode.ToString();
request.Method = Method.POST;
request.AddUrlSegment("appkey", "key");
var response = client.Execute(request);

在“响应”消息中我得到一个json内容如下:

{
  "meta": {
    "code": 200,
    "status": "ok",
    "method_name": "createChatMessage"
  },
  "response": {
    "chats": [
      {
        "id": "521cfcd840926a0b3500449e",
        "created_at": "2013-08-27T19:24:08+0000",
        "updated_at": "2013-08-27T19:24:08+0000",
        "message": " join to the chat group, welcome …",
        "from": {
          "id": "520f41e125e74b0b2400130a",
          "first_name": "Administrator",
          "created_at": "2013-08-17T09:26:57+0000",
          "updated_at": "2013-08-27T19:23:10+0000",
          "external_accounts": [

          ],
          "email": "roy@tomax.co.il",
          "confirmed_at": "2013-08-17T09:26:57+0000",
          "username": "admin",
          "admin": "true",
          "stats": {
            "photos": {
              "total_count": 0
            },
            "storage": {
              "used": 0
            }
          }
        },
        "chat_group": {
          "id": "521cfcd840926a0b3500449d",
          "created_at": "2013-08-27T19:24:08+0000",
          "updated_at": "2013-08-27T19:24:08+0000",
          "message": " join to the chat group, welcome …",
          "participate_users": [
            {
              "id": "520f41e125e74b0b2400130a",
              "first_name": "Administrator",
              "created_at": "2013-08-17T09:26:57+0000",
              "updated_at": "2013-08-27T19:23:10+0000",
              "external_accounts": [

              ],
              "email": "roy@tomax.co.il",
              "confirmed_at": "2013-08-17T09:26:57+0000",
              "username": "admin",
              "admin": "true",
              "stats": {
                "photos": {
                  "total_count": 0
                },
                "storage": {
                  "used": 0
                }
              }
            }
          ]
        }
      }
    ]
  }
}

如何从返回的 json 响应结果消息中提取“id”的以下嵌套值:“521cfcd840926a0b3500449e”?

我正在使用 C#。

最佳答案

1> 添加这个命名空间。 使用 Newtonsoft.Json.Linq;

2> 使用此源代码。

JObject joResponse = JObject.Parse(response);                   
JObject ojObject = (JObject)joResponse["response"];
JArray array= (JArray)ojObject ["chats"];
int id = Convert.ToInt32(array[0].toString());

https://stackoverflow.com/questions/18490599/

相关文章:

java - Android如何对JSONObjects的JSONArray进行排序

json - 将 Pandas DataFrame 转换为 JSON 格式

java - 使用 Jackson 将 Json 反序列化为其他类层次结构

java - 使用 GSON 解析嵌套的 JSON 数据

javascript - 如何检查 JSON 响应元素是否为数组?

ruby-on-rails - 如何将 JBuilder View 的 JSON 表示形式呈现为字符

ios - JSONSerialization 选项有什么作用,它们如何改变 jsonResult?

javascript - jQuery:在继续之前可以等待 $.get 完成加载吗?

json - 如何使用 Powershell 将 JSON 对象保存到文件中?

php - 在 php 中创建嵌套的 JSON 对象?