Json对象的对写(Jackson使用)。

来源:互联网 发布:华通云数据 编辑:程序博客网 时间:2024/05/29 17:30

Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。以下是通过一些例子来了解如何使用Jackson来写或读json。

写json数据到响应的文本中。

public void createJsonObject() throws Exception{JsonFactory jsonFactory = new JsonFactory(); //创建json工厂,主要用来创建json生成器,json解析器的工具JsonGenerator jsonGenerator          = jsonFactory.createJsonGenerator(new File("D:/test.json"), JsonEncoding.UTF8); //创建json生成器jsonGenerator.writeStartObject();//开始写入json格式的字符串此语句相当于:"{"jsonGenerator.writeFieldName("name");//相当于key为"name"jsonGenerator.writeString("Nacey");//相当于value为"Nacey"jsonGenerator.writeStringField("sex", "male"); //方法同上//"sex":"male"jsonGenerator.writeArrayFieldStart("Address"); //创建一个数组类似:Address:[jsonGenerator.writeString("tel");jsonGenerator.writeString("1555122120");jsonGenerator.writeEndArray();jsonGenerator.writeEndObject();//结束json对象jsonGenerator.close();}
输出结果:{"name":"Nacey","sex":"male","Address":["tel","1555122120"]}


Jackson处理JSON非常简单,但要了解JSON文本的格式,这样就可以遍历了,也就可以很方便的读出来了。

public void parseJsonObject() throws Exception{JsonFactory jsonFactory = new JsonFactory(); //创建json工厂,主要用来创建json生成器,json解析器的工具/** * 解析器是用于标记JSON内容到令牌和相关数据的对象。这是最低级的JSON内容的读访问。 */JsonParser jsonParse = jsonFactory.createJsonParser(new File("D:/test.json")); //循环判断下一个令牌是否到结束令牌while(jsonParse.nextToken() != JsonToken.END_OBJECT){String fieldName = jsonParse.getCurrentName();if("name".equals(fieldName)){jsonParse.nextToken();System.out.println(jsonParse.getText());}if("sex".equals(fieldName)){jsonParse.nextToken();System.out.println(jsonParse.getText());}if("Address".equals(fieldName)){ //数组判断有没有到数组结束位置jsonParse.nextToken(); while (jsonParse.nextToken() != JsonToken.END_ARRAY) {                      System.out.println(jsonParse.getText());                    }  }}jsonParse.close();}

输出结果:

Nacey
male
tel
1555122120




原创粉丝点击