如何直接访问Json字符串的一部分?

bjg7j2ky  于 2023-05-02  发布在  其他
关注(0)|答案(1)|浏览(93)

我有一个Json字符串如下:
这是变量json

[
 {
     "Amount": 10.00,
     "Name": "UserTest",
     "Id": 12345,
     "UserItems": {
      "totalSize": 1,
     "records": [
      {
        "UserId": "1234589",
        "FirstName": "Bob",
        "LastName": "Tester",
        "Street": "Test Street",
       }
      ]
     }
   }
 ]

现在为了得到记录,我需要首先解析它并访问记录,如下所示:

JObject jsonObject = JObject.Parse(json);

我需要得到的记录,目前我得到它通过调用:

jsonObject["UserItems"]["records"]

和totalSize通过

jsonObject["UserItems"]["totalSize"]

问题是,我不知道什么部分“用户项目”将是。它可以是任何对象、ContractItems、SalesItemsLines等
那么有没有什么方法可以直接得到totalSize,如果它大于0,那么直接得到记录?
比如说如果我试着

jsonObject["records"]

它给出null。
如何直接获取记录?

xxb16uws

xxb16uws1#

因为你json字符串是数组,你必须使用JArray。Parse()而不是JObject。Parse()

JObject userItems = (JObject) JArray.Parse(json)[0]["UserItems"];
 
JArray records = (JArray) userItems["records"];

在此之后,您可以获得数据

int totalSize = (int) userItems["totalSize"];
 
 string firstName = (string) records[0]["FirstName"];

相关问题