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 に答える