java中创建解析json

Posted Kevin&Swift

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中创建解析json相关的知识,希望对你有一定的参考价值。

java中创建解析json主要用的是google-gson这个第三方包

将其导入到lib文件下 随后在config build path中将其导入


随后便可以使用这个包

创建测试文件test.json

"a":[1:"cao",2:"kai"]
随后在main函数中先创建json的解析器

//创建解析器
		JsonParser parser = new JsonParser();
随后是json的对象 都是用try catch来进行创建的

//创建解析器
		JsonParser parser = new JsonParser();
//创建json的对象
	  try 
		  //强制类型转换
		JsonObject object = (JsonObject) parser.parse(new FileReader("test.json"));

parse中可以是文件 json的字符串  或者是网上的数据 要创建缓冲区

//创建json的数组 

//创建json的数组
		JsonArray array = object.get("a").getAsJsonArray();
随后首先get到 再转换为其他的数据类型

	for(int i = 0; i < array.size(); i++)
		JsonObject subObject = array.get(i).getAsJsonObject();
		System.out.print(subObject.get("1").getAsString());
		System.out.print(subObject.get("2").getAsString());
整体代码如下

public class JSONTest 

	public static void main(String[] args) 
		// TODO Auto-generated method stub
//创建解析器
		JsonParser parser = new JsonParser();
//创建json的对象
	  try 
		  //强制类型转换
		JsonObject object = (JsonObject) parser.parse(new FileReader("test.json"));
 //创建json的数组
		JsonArray array = object.get("a").getAsJsonArray();
		for(int i = 0; i < array.size(); i++)
		JsonObject subObject = array.get(i).getAsJsonObject();
		System.out.print(subObject.get("1").getAsString());
		System.out.print(subObject.get("2").getAsString());
		
	   catch (JsonIOException | JsonSyntaxException | FileNotFoundException e) 
		// TODO Auto-generated catch block
		e.printStackTrace();
	
	
	

创建json 创建jsonObject的对象 如果要添加属性 就用json.addProperty这个方法 添加另一个json对象 比如 json数组 就要用add

	public static void main(String[] args) 
		// TODO Auto-generated method stub
		JsonObject object = new JsonObject();
       //添加属性值 
		object.addProperty("cat", "it");
		//创建json的数组
		JsonArray array = new JsonArray();
		//创建json的对象
		JsonObject lan1 = new JsonObject();
		lan1.addProperty("id", 1);
		lan1.addProperty("name", "java");
		array.add(lan1);
		//直接添加另一个json的对象
		object.add("lang", array);
		//转化为字符串
		System.out.println(object.toString());
	


打印出如下



以上是关于java中创建解析json的主要内容,如果未能解决你的问题,请参考以下文章

解析 JSON 后无法在 NSDictionary 中创建密钥

使用JSON在java Servlet中创建json数组[重复]

在 Java 中创建 JSON Web 令牌

如何在 JSP/Java 中创建多维 HashMap 或 Hashtable 并将其转换为 JSON 对象?

在 JavaScript 中创建压缩的 JWT 有效负载

使用具有参数的参数在 Java 中创建 JSON RPC 请求