json.put(); を使用して、json から出力の下の同等の php 形式にデータを送信しようとしています。
Array
(
[node] => Array
(
[name] => admin
[type] => mobile_content
[language] => und
[title] => re resss re@fffd.com
[field_one] => Array
(
[und] => Array
(
[0] => Array
(
[value] => re
)
)
)
[field_prenom] => Array
(
[und] => Array
(
[0] => Array
(
[value] => resss
)
)
)
[field_addr] => Array
(
[und] => Array
(
[0] => Array
(
[value] => re@fffd.com
)
)
)
[field_email] => Array
(
[und] => Array
(
[0] => Array
(
[value] => 01/01/1913
)
)
)
[field_collectif] => Array
(
[und] => Array
(
[0] => Array
(
[value] => 1
)
)
)
[field_bach] => Array
(
[und] => Array
(
[0] => Array
(
[value] => 0
)
)
)
[field_mc_rec] => Array
(
[und] => Array
(
[0] => Array
(
[value] => 1
)
)
)
[field_photo] => Array
(
[und] => Array
(
[0] => Array
(
[fid] => 1778
)
)
)
)
)
私の問題は、フォーマットを正しく取得できないことです。
i created my json object
try {
JSONObject json = new JSONObject();
次に、ノードを使用して配置します
json.put("node[type]","type");
最後にjson出力をに送信します
DefaultHttpClient httpClient = new DefaultHttpClient();
ResponseHandler<String> resonseHandler = new BasicResponseHandler();
HttpPost postMethod = new HttpPost(path);
String authorizationString = "Basic " + Base64.encodeToString(
("uname" + ":" + "pword").getBytes(),
Base64.NO_WRAP);
postMethod.setHeader("Authorization", authorizationString);
postMethod.setHeader("Content-Type","application/x-www-form-urlencoded");
postMethod.setHeader("Accept", "application/json");
postMethod.setEntity(new ByteArrayEntity(params.toString().getBytes("UTF8")));
String response = httpClient.execute(postMethod,resonseHandler);
if (response.equals("[]")) //empty
return null;
else
{
System.out.println("response :" + response);
JSONObject jObject=new JSONObject(response);
return jObject;
}
エラーログが表示されます
org.apache.http.client.HttpResponseException: Not Acceptable: Node type is required
しかし、サーバー側ではログは表示されません。json オブジェクトが送信されていないことを意味します。これは奇妙です。私はdrupalに送信していることに注意してください。助けてください。これは、テキスト形式のjsonをサーバーに送信する正しい方法ですか?