0

我一直在寻找如何使用 C++ Builder XE2 读取嵌套 JSON 的方法TJSONObject

Delphi中有一些例子,但他们使用TJSONValue对象,但在C++版本中,这个类有一个纯虚函数,不能创建。

一些示例 JSON:

{
  "totalHits": 4170,
  "totalCount": 4170,
  "startIndex": 0,
  "adverts": [
    {
      "Id": "14380005",
      "companyInfo": {
        "companyName": "Clarion Hotel Sign",
        "orgNumber": "5564660107",
        "companyText": "hotell"
      },
      "address": {
        "streetName": "Street race 2",
        "postCode": "101 26",
        "postArea": "MY AREA",
        "postBox": "Box 310"
      },
      "homepage": "www.mypage.net"
    }
  ]
}

整个 JSON 都存储在 JSON 对象中,相信我,它就在那里 :)

TJSONObject *JSON = new TJSONObject;

获取totalHits 和totalCount 的值没有问题,但是如何获取"companyName"值?!?

谢谢

4

1 回答 1

1

我为将来遇到相同问题的其他人发布了这个迟来的答案....

TJSONArray* jArray = (TJSONArray* )JSON->Get("adverts")->JsonValue;
TJSONObject* jCompanyInfo = (TJSONObject*)((TJSONObject*)jArray->Get(0))
       ->Get("companyInfo")->JsonValue);
String companyName =  jCompanyInfo->Get("companyName")->JsonValue->Value());
于 2012-08-16T06:28:25.403 回答