首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jackson中的写和好析JSON的api例子

2012-10-24 
jackson中的写和解析JSON的api例子本次介绍的是在jackson中,如何去写和解析json,其中用到的都是jackson自

jackson中的写和解析JSON的api例子
本次介绍的是在jackson中,如何去写和解析json,其中用到的都是jackson自己的
流的API.

1 JACKSON中写一个json文件使用的是JsonGenerator类,


输出为:
{
"name":"mkyong",
"age":29,
"messages":["msg 1","msg 2","msg 3"]
}
2 解析JSON
  我们把上面输出的JSON文件重新读取出来,再解析, 注意在json中,解析是以TOKEN方式进行的,比如:
  {
   "name":"mkyong"
}
将为解析为:
  Token 1 = “{“
Token 2 = “name”
Token 3 = “mkyong”
Token 4 = “}”

代码:
 
import java.io.File;import java.io.IOException;import org.codehaus.jackson.JsonFactory;import org.codehaus.jackson.JsonGenerationException;import org.codehaus.jackson.JsonParser;import org.codehaus.jackson.JsonToken;import org.codehaus.jackson.map.JsonMappingException; public class JacksonStreamExample {   public static void main(String[] args) {      try { JsonFactory jfactory = new JsonFactory(); /*** read from file ***/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)) {                     //当前结点为name   jParser.nextToken();  System.out.println(jParser.getText()); // 输出 mkyong } if ("age".equals(fieldname)) {   // 当前结点为age                   // move to next, which is "name"'s value  jParser.nextToken();  System.out.println(jParser.getIntValue()); // display 29 } if ("messages".equals(fieldname)) {   jParser.nextToken();   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();      }   } }

最后输出:
mkyong
29
msg 1
msg 2
msg 3 1 楼 savon_cn 2012-06-16   http://www.mkyong.com/java/jackson-streaming-api-to-read-and-write-json/

转载也要说一声吧

热点排行