2016-06-21 4 views
-3

このJSONからurlのキーを検索する方法はありますか?GETの値restresponse Json

{ 
    "data": { 
    "is_silhouette": false, 
    "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/p200x200/13178742_10205047662871072_6233795154346712405_n.jpg?oh=194b0150c2325660390490779bf9b942&oe=57C22031&__gda__=1472746057_dc9b0557adc8408840fafb73ed325ef8" 
    } 
} 

これは、Facebook's Graph APIによって提供されます。私はそれを取得するためにDelphi 10.0 SeattleのRest Libraryを使用しています。

+2

は、http:// stackoverflow.com/a/37887564/62576には、開始方法に関するいくつかの提案があります。私たちはコード作成サービスではありません。 –

答えて

4

まず、エンバカデロのJSON documentationを読んでください。あなたはSystem.JSONユニット、例えば内のクラスを使用することができます。

uses 
    ..., System.JSON; 

var 
    json: string; 
    obj, data: TJSONObject; 
    url: string; 
begin 
    json := ...; // JSON data retrieved from REST server 
    obj := TJSONObject.ParseJSONValue(json) as TJSONObject; 
    try 
    data := obj.Values['data'] as TJSONObject; 
    url := data.Values['url'].Value; 
    finally 
    obj.Free; 
    end; 
end; 

また、あなたがエンバカデロのを使用している場合、それは取り出すことができ、あなたのためにJSONを事前解析:

var 
    obj, data: TJSONObject; 
    url: string; 
begin 
    RESTRequest1.Execute; 
    obj := RESTResponse1.JSONValue as TJSONObject; 
    data := obj.Values['data'] as TJSONObject; 
    url := data.Values['url'].Value; 
end; 
+0

ありがとう、私は自分自身を間違って表現しました。私はすでにこれを行うコードを持っていましたが、それは私が望むやり方ではありませんでした。 –

+0

もう一度ありがとうございますが、 'obj.Free; ' アプリケーションを終了すると、メッセージ"無効なポインタ操作例外 "を含むEInvalidPointer例外が発生しています。 –

関連する問題