2017-09-26 10 views
0

jsonの構造体に行を追加するにはどうすればいいですか?JSONはユーザーによってHTMLリクエストとして提供され、日付やその他の機能を新しいJSONを返し、HTMLレスポンスとして返します。リクエストメッセージに新しい行を追加して返信するにはどうすればいいですか?

例: 私のJSONファイルがある場合:{名:ABC、年齢:12}はその後、私の新しい出力JSONがなる{:ABC、年齢:名12、日:26/09/2017}

CODE:

InputStream inputStream = request.getInputStream(); 
    String text = IOUtils.toString(inputStream, StandardCharsets.UTF_8.name()); 
    JsonObject convertedObject = new Gson().fromJson(text, JsonObject.class); 
    convertedObject.addProperty("Date", "26/09/2017"); 


    PrintWriter pw = response.getWriter(); 
    pw.println(convertedObject.toString()); 

上記のコードによってexisiting JSONが削除されるだけで、日付が表示さ:(

+0

あなたは、マップこのマップに日付を追加し、変換するために、JSONをconvertying試すことができますjsonに戻る。これを見てくださいhttps://stackoverflow.com/questions/443499/convert-json-to-map – mlecz

答えて

0

あなたは、文字列全体JSONを読み、投棄やジャクソンのような任意のJSONの構文解析ライブラリを使用することができます 私は」。 jettisonを使用した例を示します:

String inp = "{\"key1\": \"value\", \"key2\": {\"key\": \"value\"}}"; 
JSONObject x = new JSONObject(inp); 
System.out.println(x);//the toString method gives the object back 
System.out.println(x.get("key2"));//you can get any key's value by passsing its key 
//setting date here: 
x.putOpt("date", "26/09/2017"); 
System.out.println(x);//you can return the object by doing a toString() of the JSONObject. 

また、JacksonのObjectMapperを使用してHashMapを作成することも、オブジェクトをマップできるPOJOを作成することもできます。 考え方は、文字列をオブジェクトにアンマーシャリングし、パラメータを追加して、文字列にマーシャルすることです。

関連する問題