1 应用阿里的FastJson

1.1 我的项目的pom.xml依赖

<dependency>  <groupId>com.alibaba</groupId>  <artifactId>fastjson</artifactId>  <version>1.2.58</version></dependency>
public static void main(String[] args) {    String jsonString = "{\"_index\":\"book_shop\",\"_type\":\"it_book\",\"_id\":\"1\",\"_score\":1.0," +            "\"_source\":{\"name\": \"Java编程思维(第4版)\",\"author\": \"[美] Bruce Eckel\",\"category\": \"编程语言\"," +            "\"price\": 109.0,\"publisher\": \"机械工业出版社\",\"date\": \"2007-06-01\",\"tags\": [ \"Java\", \"编程语言\" ]}}";    JSONObject object = JSONObject.parseObject(jsonString);    String pretty = JSON.toJSONString(object, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue,             SerializerFeature.WriteDateUseDateFormat);    System.out.println(pretty);} 格式化输入后的后果:阐明: FastJson通过Tab键进行换行后的格式化.{    "_index":"book_shop",    "_type":"it_book",    "_source":{        "date":"2007-06-01",        "author":"[美] Bruce Eckel",        "price":109.0,        "name":"Java编程思维(第4版)",        "publisher":"机械工业出版社",        "category":"编程语言",        "tags":[            "Java",            "编程语言"        ]    },    "_id":"1",    "_score":1.0}

1.2 应用谷歌GSON

public static void main(String[] args) {        String jsonString = "{\"_index\":\"book_shop\",\"_type\":\"it_book\",\"_id\":\"1\",\"_score\":1.0," +            "\"_source\":{\"name\": \"Java编程思维(第4版)\",\"author\": \"[美] Bruce Eckel\",\"category\": \"编程语言\"," +            "\"price\": 109.0,\"publisher\": \"机械工业出版社\",\"date\": \"2007-06-01\",\"tags\": [ \"Java\", \"编程语言\" ]}}";        String pretty = toPrettyFormat(jsonString)        System.out.println(pretty);}/** * 格式化输入JSON字符串 * @return 格式化后的JSON字符串 */private static String toPrettyFormat(String json) {    JsonParser jsonParser = new JsonParser();    JsonObject jsonObject = jsonParser.parse(json).getAsJsonObject();    Gson gson = new GsonBuilder().setPrettyPrinting().create();    return gson.toJson(jsonObject);}

阐明: Gson应用2个空格作为换行后的格局转换.

{  "_index": "book_shop",  "_type": "it_book",  "_id": "1",  "_score": 1.0,  "_source": {    "name": "Java编程思维(第4版)",    "author": "[美] Bruce Eckel",    "category": "编程语言",    "price": 109.0,    "publisher": "机械工业出版社",    "date": "2007-06-01",    "tags": [      "Java",      "编程语言"    ]  }}