2017-08-02 9 views
0

たとえば、1行ではなく、以下のように印刷したいとします。これはJSON文字列です。デフォルトでは、myJsonObject.toString()は1行のStringです。この形式のフォームを直接出力できるorg.json.JSONObjectのメソッドがありますか?形式のJSON文字列を出力する方法は?

{ 
    "name":"John", 
    "age":30, 
    "cars": [ 
     { "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] }, 
     { "name":"BMW", "models":[ "320", "X3", "X5" ] }, 
     { "name":"Fiat", "models":[ "500", "Panda" ] } 
    ] 
} 

答えて

0

pretty json stringを印刷する方法はいくつかあります。

ObjectMapper mapper = new ObjectMapper(); 

Object json = mapper.readValue(myJsonObject, Object.class); 

、その後、書き込み:

GSONは、メソッドsetPrettyPrinting()、例えば

Gson gson = new GsonBuilder().setPrettyPrinting().create(); 
JsonElement jsonElement = new JsonParser().parse(jsonString); 
System.out.println(gson.toJson(jsonElement)); 
1

だけで、任意の古いJSONをインデントのように、オブジェクトとしてそれをバインドしていますインデント付きでそれを出します:

String indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json); 
関連する問題