这是我尝试将JSON对象发送到服务器的Java程序。我正在使用Apache HTTPClient进行HTTP请求,将Jettison用作JSON库。
我对此几乎没有疑问。
POST数组中JSON字符串的结构是什么。像{xxxxx:{userId:userId, blha, blha, blha.........}}
如果我需要从服务器端的POST数组中获取JSON字符串(无需转换为对象)。怎么做?在php中我们喜欢这个echo $_POST["xxxxxxx"];
通常,POST数组中的每个数据都有一个名称。但是在程序之下并没有为JSON对象指定任何名称。 POST数组中以下JSON字符串的名称(xxxxxxx)是什么。
string base_url = "https://abc.com/";
string username = "test_user";
string password = "test_user_pw";
string client_id = "test_user123";
string client_secret = "test_user1234567";
string login_url = base_url + "session/login";
CloseableHttpClient wf_client = HttpClients.custom().setUserAgent(client_id + "/1.0").build();
HttpPost login_post = new HttpPost(loginUrl);
JSONObject login_object = new JSONObject();
try {
login_object.put("userId", username);
login_object.put("password", password);
login_object.put("clientId", client_id);
login_object.put("clientSecret", client_secret);
} catch (JSONException ex) {
System.out.println(ex.toString());
}
StringEntity post_entity = new StringEntity(login_object.toString(), jason_content_type);
login_post.setEntity(post_entity);
CloseableHttpResponse responce = wf_client.execute(login_post);
答案 0 :(得分:0)
按照相同的结构回答您的问题
示例:
{
"userId" : "Username",
"array" : [ "1", "2", "3" ],
"object" : {
"objectId" : "bkadakdbk",
...
}
}
示例:
BufferedReader rd = new BufferedReader(new InputStreamReader(request.getInputStream()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}