0

下記のように、JSONオブジェクトをリクエストとしてWebサービスに渡したいと思います。

Result:{
 "email":"xxxxxxx",
 "password":"xxxxxx",
 "Marks":[
  {
   "mark1":"50",
   "mark2":"70"
  }
],
"firstname":"xxxx",
"lastname":"xxxxx"
}

私のコード:..。

HttpPost httppost = new HttpPost("My Url");
    httppost.setEntity(new StringEntity(**message**.toString(), "UTF-8"));

ここで、メッセージには上記の形式のjsonオブジェクトが含まれている必要があります。JSONオブジェクトをどのようにフォーマットできますか?

ありがとう。

4

5 に答える 5

2

Android側で上記のjsonオブジェクトを実装するのに問題がある場合は、以下のように構築できます。

JSONObject message = new JSONObject();

JSONObject mParams = new JSONObject();
mParams.put("email", "xxxx");
mParams.put("password", "xxx");

JSONArray markArray = new JSONArray(); 
JSONObject markObj = new JSONObject();
markObj.put("mark1", "50");
markObj.put("mark2", "70");
markArray.put(markObj);

mParams.put("Marks", markArray);

mParams.put("FirstName", "xxxx");
mParams.put("lastname", "xxxx");

message.put("Result",mParams);

今あなたのコードで

    HttpPost httppost = new HttpPost("My Url");
    httppost.setEntity(new StringEntity(**message**.toString(), "UTF-8"));
于 2013-01-23T07:26:55.183 に答える
1

文字列のように送信できます。

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("json", message.toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

$data = json_decode($json);
于 2013-01-23T07:24:27.040 に答える
1

まず、上記の JSON はINVALIDです。

今、

ここで、メッセージには上記の形式の json オブジェクトが含まれている必要があります。JSON オブジェクトをフォーマットするにはどうすればよいですか?

=> それには 2 つの方法があります。

1) JSONObject または JSONArray クラスを使用して、次のようなリクエスト構造を作成します。

JSONObject objRequest = 新しい JSONObject(); objRequest.putString("メール","xxxx"); objRequest.putString("パスワード","xxxx");

HttpPost オブジェクト内にエンティティを設定するときに、それを String 値に変換します。

2) 悪い方法です。次のようなエスケープ シーケンスを含む文字列値を単純に生成します。

String strRequest = "{\"email\":\"xxxxxxx\",\"password\":\"xxxxxx\"}";
于 2013-01-23T07:37:47.450 に答える
0

android-json-rpc などの既存のライブラリを使用することもできます

于 2013-01-23T15:59:39.370 に答える
0

これはあなたを助けるかもしれません..GSONライブラリを使用してください。GSON は、JSON リソースを解析するための Google ライブラリです。マーシャリングに関しては、基本的にデータ構造 (OOP 言語のオブジェクトなど) を JSON に変換する方法を意味します...たとえば:

// Java object
class Book {
  private String title;
  private String isbn;
  private Set<author> authors;
}

@Entity
class Author {
  private String firstName;
  private String lastName;
}

に...

{title:   "Vocation Createurs",
 isbn:    "2829302680",
 authors: [{firstName: "Barbara", lastName: "Polla"},
           {firstName: "Pascal",  lastName: "Perez"}]} 
于 2013-01-23T07:32:27.913 に答える