2012-03-29 10 views
18

Androidデバイス用に入れ子になったJSONオブジェクトをプログラミングしたいのですが、どうしたらいいですか?私は、JSONを持つ唯一の基本的な経験を持っているので、誰かが次のコードで私を助けることができる場合、私は感謝:Javaで入れ子になったJsonオブジェクトを作成するには?

{ 
"command": "login", 
"uid": "123123123", 
"params": 
    { 
    "username": "sup", 
    "password": "bros" 
    } 
} 

編集:

次のコードは、問題を解決します:

loginInformation = new ArrayList<NameValuePair>(); 

JSONObject parentData = new JSONObject(); 
JSONObject childData = new JSONObject(); 

try { 

    parentData.put("command", "login"); 
    parentData.put("uid", UID.getDeviceId()); 

    childData.put("username", username.getText().toString()); 
    childData.put("password", password.getText().toString()); 
    parentData.put("params", childData); 

} catch (JSONException e) { 
    e.printStackTrace(); 
} 

loginInformation.add(new BasicNameValuePair("content", parentData.toString())); 
+1

あなたは、JSONを使用してサービスと通信しようとしていますか?あなたは本当に難しい構造を送る必要がありますか? –

+7

あなたは私を冗談していますか?入れ子になったJSONオブジェクトを送るのはとても難しいですね! – Xarialon

+1

ちょうど私が必要なもの!ありがとう@ Xarialon –

答えて

5

JSONを作成し、POSTにパラメータとしてJSONを追加する必要があります。あなたはおそらく必要があることを行うには:

post.add(new BasicNameValuePair("data",json.toString()); 

あなたはorg.json.JSONObjectを使用することができ、それがAndroid SDKに含まれています。

+1

ありがとう、私は多次元の代わりに入れ子になっていた。 :) – Xarialon

+0

@Ovidiu Latcu私の質問を確認してください。http://stackoverflow.com/questions/15171454/sending-complex-json-object – bCliks

+0

@OvidiuLatcuあなたは私の質問を確認してください。[http://stackoverflow.com/questions/42024158]/how-to-access-github-graphql-api-using-java] –

1

BasicNameValuePairは、POSTパラメータを追加するために使用します。あなたが何を求めているのかは少し不明です。 JSONを使ってparam値をポストパラメータとして送信する方法を尋ねていますか?

あなたが、あなたはもちろん確保するためにJSONにチェックをしたいと思うでしょう、このように、フォームのポストに

JSONObject jo = new JSONObject(jsonString); 
JSONObject joParams = jo.getJSONObject("params"); 
String username = joParams.getString("username"); 

post.add(new BasicNameValuePair("username",username); 

を追加し、パラメータを引き出し、最初のJSONをパースする必要がありますparamsオブジェクトが存在し、usernameパラメータが確実に終了するようにします。

0

JSONブロックをサーバーに送信する場合は、キー値のペアを使用せず、データをStringEntityとして送信するだけです。

1

Jsonのモデルクラスを作成し、データで初期化します。その後、Google Gsonを使用してJsonからJsonに変換し、Objectに戻します。また、ここにはJsonを使用するためにあなたの人生をより簡単にする2つのリンクがあります。 オンラインJson Editor。生成されたjsonの形式が正しいかどうかを確認できます。 http://www.jsoneditoronline.org/生成されたPOJOする とJSON(モデルクラス・ジェネレータ) http://www.jsonschema2pojo.org/

+0

ありがとうマリク!これは非常に古い質問でした。私はちょうどAndroidプログラミングを学び始めたときにそれを使用していません。 :) – Xarialon

関連する問題