2016-08-16 7 views
0

AndroidスタジオのZoho CRM APIからデータを解析する方法を理解しようとしています。私は比較的新しいですが、私はこのようなJSON応答からデータを解析する方法を知っていますか:AndroidスタジオでJSONを解析する方法

{ 
     "Data": [ 
     { "subdata": "data" 
    } 
    ] 
} 

私も、複数のサブデータポイントで、Androidのメーカーでも問題を解析することはできません一種のようなもの、それはそれではありませんハード。それはこのようになり、データを解析することになるとしかし、私は完全に途方に暮れています:

 {"response":{"result":{"Contacts":{"row":[{"no":"1","FL": 
    [{"content":"1822766000000272057","val":"CONTACTID"}, 
{"content":"Lisa","val":"First Name"}]},{"no":"2","FL": 
[{"content":"1822766000000119148","val":"CONTACTID"}, 
{"content":"Eric","val":"First 
Name"}]}]}},"uri":"/crm/private/json/Contacts/searchRecords"}} 

誰もがAndroidのメーカーのこの内部などのデータを解析する方法を知っていますか?

アップデート:私は、JSONは、JSONビューアでどのように見えるかの写真を持っている:

enter image description here

答えて

1

ただ、層ごとにそれを取ります。

/** 
* Retrieves a json object from the passed in json object. 
* @param json The json object from which the returned json object will be retrieved. 
* @param key The key whose value is the json object to be returned. 
* @return A json object. 
* */ 
public static JSONObject jsonObjectFromJSONForKey(JSONObject json, String key) { 
    try { 
     return json.getJSONObject(key); 
    } 
    catch (JSONException e) { 
     return null; 
    } 
} 

あなたはのバリエーションを作ることができます:それはので、私はクラスと呼ばれるJSONUtilsか何かを持っているとのtry-catchブロック内のすべてをラップすることなく、JSONを解析するために、このような便利なメソッドを使用したいと少し冗長に取得することができますこれは他のデータ型の場合と同様に、try-catchブロックを1つの領域に持つだけで、これらのメソッドを呼び出すときにnullをチェックすることができます。

JSONObject responseJSON = JSONUtils.jsonObjectFromJSONForKey(json, "response"); 
if (responseJSON != null) { 
    JSONObject resultJSON = JSONUtils.jsonObjectFromJSONForKey(responseJSON, "result"); 
    // So on and so forth... 
} 
+0

私はこれに関するいくつかの質問があります。このインスタンスで解析したいJSONがあるURLはどこに置くのですか?また、コードブロック内で:JSONObject responseJSON = JSONUtils.jsonObjectFromJSONForKey(json、 "response");それはjsonがシンボルを解決できないと言います、どうすればそれを修正できますか?別のJSONUtilsクラスを作成しました。 –

+0

"json"はあなたが解析しようとしているもの(つまり、質問に投稿したjsonオブジェクト)です。あなたのアプリケーションに意味のあるURLを置くことができれば、便利な方法を使ってリクエストしているURLのレスポンスを解析するだけです。 –

+0

私はあなたがウェブサービスとして何を使用しているのかよく分かりませんが、たとえば、OkHttpは要求の応答をパラメータとしてコールバックを使用します。その後、上記の方法のバリエーションを使用してその値を解析します。 –

関連する問題