通过codehaus来实现json写入文件和读取文件成json对象
2014-03-08 10:44
711 查看
pom.xml需要增加如下依赖:
转载请标明出处:通过codehaus来实现json写入文件和读取文件成json对象
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-lgpl</artifactId> <version>1.9.1</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-lgpl</artifactId> <version>1.9.1</version> </dependency>
package com.zuidaima.json; import java.io.File; import java.io.IOException; import org.codehaus.jackson.JsonEncoding; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.JsonGenerator; import org.codehaus.jackson.JsonParser; import org.codehaus.jackson.JsonToken; import org.codehaus.jackson.map.JsonMappingException; public class JsonGeneratorAndParser { /** * @param args */ public static void main(String[] args) { try { JsonFactory jfactory = new JsonFactory(); /*** write to file ***/ JsonGenerator jGenerator = jfactory.createJsonGenerator(new File( "c:/user.json"), JsonEncoding.UTF8); jGenerator.writeStartObject(); // { jGenerator.writeStringField("name", "java牛"); // "name" : "java牛" jGenerator.writeNumberField("age", 29); // "age" : 29 jGenerator.writeFieldName("messages"); // "messages" : jGenerator.writeStartArray(); // [ jGenerator.writeString("msg 1"); // "msg 1" jGenerator.writeString("msg 2"); // "msg 2" jGenerator.writeString("msg 3"); // "msg 3" jGenerator.writeEndArray(); // ] jGenerator.writeEndObject(); // } jGenerator.close(); JsonParser jParser = jfactory.createJsonParser(new File( "c:/user.json")); // loop until token equal to "}" while (jParser.nextToken() != JsonToken.END_OBJECT) { String fieldname = jParser.getCurrentName(); if ("name".equals(fieldname)) { // current token is "name", // move to next, which is "name"'s value jParser.nextToken(); System.out.println(jParser.getText()); } if ("age".equals(fieldname)) { // current token is "age", // move to next, which is "name"'s value jParser.nextToken(); System.out.println(jParser.getIntValue()); // display 29 } if ("messages".equals(fieldname)) { jParser.nextToken(); // current token is "[", move next // messages is array, loop until token equal to "]" while (jParser.nextToken() != JsonToken.END_ARRAY) { // display msg1, msg2, msg3 System.out.println(jParser.getText()); } } } jParser.close(); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
转载请标明出处:通过codehaus来实现json写入文件和读取文件成json对象
相关文章推荐
- @include与jsp:include的区别
- javascript 动态调用方法和传参数
- eclispe去掉所有的javascript错误…
- javascript回调函数
- javascript时间操作
- javascript数组移出
- svg和js交互
- javascript是不是整数或者小数,是…
- javascript 得到顶层iframe
- javascript在eclisep中编译太慢的…
- javascript操作cookie
- js中的onchange和onpropertychange (onchange无效的解决方法)
- javascript delete
- javascript 各种禁用
- javascript 禁止输入、禁止粘…
- javascript 浏览器版本查看,主要…
- 不能执行extjs的解决办法
- ie9 不能执行extjs的解决办法
- javascript 生成随机数
- javascript基础学习--HTML DOM