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数组[重复]