目录1 使用阿里的FastJson1.1 项目的pom.xml依赖1.2 Java示例代码2 使用谷歌的Gson2.1 项目的pom.xml依赖2.2 Java示例代码参考资料版权声明

1 使用阿里的FastJson

1.1 项目的pom.xml依赖

com.alibaba

fastjson

1.2.58

1.2 Java示例代码

(1) 导入的包:

com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import com.alibaba.fastjson.serializer.SerializerFeature;

(2) 测试代码:

其中JSON字符串为:

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);

}

(3) 格式化输出后的结果:

说明: 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

}

2 使用谷歌的Gson

2.1 项目的pom.xml依赖

com.google.code.gson

gson

2.2.4

2.2 Java示例代码

(1) 导入的包:

import com.google.gson.Gson;

import com.google.gson.GsonBuilder;

import com.google.gson.JsonArray;

import com.google.gson.JsonElement;

import com.google.gson.JsonObject;

import com.google.gson.JsonParser;

(2) 测试代码:

JSON字符串与上述测试代码相同.

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);

}

(3) 格式化输出后的结果:

说明: 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",

"编程语言"

]

}

}

参考资料

JAVA-Gson-格式化输出json字符串

版权声明

作者: 瘦风(https://healchow.com)

出处: 博客园 瘦风的博客(https://www.cnblogs.com/shoufeng)

感谢阅读, 如果文章有帮助或启发到你, 点个[好文要顶👆] 或 [推荐👍] 吧😜

本文版权归博主所有, 欢迎转载, 但 [必须在文章页面明显位置标明原文链接], 否则博主保留追究相关人员法律责任的权利.