3日前 - Last Topicjsonオブジェクトを取得、変更、および投稿するにはどうすればよいですか?
私はjson応答を得てそれを文字列に変更しました。 Json Responseはユーザーオブジェクトを表します。 User-Object内では、私は特定のプロジェクトを検索して削除したがっていました。その後、私は再びHttpPost経由で投稿したいと思います。 JsonArrayの属性を保存することで、特定のプロジェクトの検索
private static String getContent(HttpResponse response) {
HttpEntity entity = response.getEntity();
if (entity == null) return null;
BufferedReader reader;
try {
reader = new BufferedReader(new InputStreamReader(entity.getContent()));
String line = reader.readLine();
reader.close();
return line;
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
String StringResponse = getContent(JsonResponse);
JSONObject jsonObject = new JSONObject(StringResponse);
JSONArray ProjectsArray= jsonObject.getJSONArray("projects");
。プロジェクトを削除
ArrayList<Integer> indexesToRemove = new ArrayList<Integer>();
for (int i = 0; i < projectsArray.length; i++) {
JSONObject current = projectsArray.get(i);
if (current.get("projectKey") == "**ProjectName**") {
indexesToRemove.add(i);
}
}
...完璧に動作し、私の検索プロジェクトが削除され
for (int i = indexesToRemove.size()-1; i>=0; i--)
{
projectsArray.remove(indexesToRemove.get(i));
}
。しかし、問題は、私は変更されたUserObject/StringをHttpPost経由で再度投稿したいということです。そして私の削除したプロジェクトは私のJsonArray "projectsArray"の中にあり、最初から私の文字列にはありません。私は最初から完全なJSONファイルを含む「ModifiedJsonString」を、必要とする....
HttpPost UserChange = new HttpPost (TestUserURL+user); //TODO:
UserChange.setHeader("Accept", "application/json");
UserChange.setHeader("Content-type", "application/json");
params = new StringEntity("ModifiedJsonString", HTTP.UTF_8); // How do i get the complete Json string?
UserChange.setEntity(params);
HttpResponse UserChangeResponse = httpclient.execute(UserChange);
HttpEntity entity2 = UserChangeResponse.getEntity();
if (entity2 != null) {
entity2.consumeContent();
}
を「projectsArray」を投稿することはできません。
params = new StringEntity(ModifiedJsonString, HTTP.UTF_8);
よろしく
素晴らしい!お返事をありがとうございます。解決策はこの時点でした: jsonObject.put( "projects"、listOfNodes); – InfoEngi