通过codehaus来实现json写入文件和读取文件成json对象
2014-01-22 21:09
573 查看
首先:pom.xml需要增加依赖,如下:viewsourceprint?
具体的demo,如下:
源码下载:http://www.zuidaima.com/share/1550463256562688.htm
01 | < dependency > |
02 | < groupId >org.codehaus.jackson</ groupId > |
03 | < artifactId >jackson-core-lgpl</ artifactId > |
04 | < version >1.9.1</ version > |
05 | </ dependency > |
06 | < dependency > |
07 | < groupId >org.codehaus.jackson</ groupId > |
08 | < artifactId >jackson-mapper-lgpl</ artifactId > |
09 | < version >1.9.1</ version > |
10 | </ dependency > |
001 | package com.javaniu.json; |
002 |
003 | import java.io.File; |
004 | import java.io.IOException; |
005 |
006 | import org.codehaus.jackson.JsonEncoding; |
007 | import org.codehaus.jackson.JsonFactory; |
008 | import org.codehaus.jackson.JsonGenerationException; |
009 | import org.codehaus.jackson.JsonGenerator; |
010 | import org.codehaus.jackson.JsonParser; |
011 | import org.codehaus.jackson.JsonToken; |
012 | import org.codehaus.jackson.map.JsonMappingException; |
013 |
014 | public class JsonGeneratorAndParser { |
015 |
016 | /** |
017 | * @param args |
018 | */ |
019 | public static void main(String[] args) { |
020 | try { |
021 |
022 | JsonFactory jfactory = new JsonFactory(); |
023 |
024 | /*** write to file ***/ |
025 | JsonGenerator jGenerator = jfactory.createJsonGenerator( new File( |
026 | "c:/user.json" ), JsonEncoding.UTF8); |
027 | jGenerator.writeStartObject(); // { |
028 |
029 | jGenerator.writeStringField( "name" , "java牛" ); // "name" : "java牛" |
030 | jGenerator.writeNumberField( "age" , 29 ); // "age" : 29 |
031 |
032 | jGenerator.writeFieldName( "messages" ); // "messages" : |
033 | jGenerator.writeStartArray(); // [ |
034 |
035 | jGenerator.writeString( "msg 1" ); // "msg 1" |
036 | jGenerator.writeString( "msg 2" ); // "msg 2" |
037 | jGenerator.writeString( "msg 3" ); // "msg 3" |
038 |
039 | jGenerator.writeEndArray(); // ] |
040 |
041 | jGenerator.writeEndObject(); // } |
042 |
043 | jGenerator.close(); |
044 |
045 | JsonParser jParser = jfactory.createJsonParser( new File( |
046 | "c:/user.json" )); |
047 |
048 | // loop until token equal to "}" |
049 | while (jParser.nextToken() != JsonToken.END_OBJECT) { |
050 |
051 | String fieldname = jParser.getCurrentName(); |
052 | if ( "name" .equals(fieldname)) { |
053 |
054 | // current token is "name", |
055 | //move to next,which is "name"'s value |
056 | jParser.nextToken(); |
057 | System.out.println(jParser.getText()); |
058 |
059 | } |
060 |
061 | if ( "age" .equals(fieldname)) { |
062 |
063 | // current token is "age", |
064 | //move to next,which is "name"'s value |
065 | jParser.nextToken(); |
066 | System.out.println(jParser.getIntValue()); // display 29 |
067 |
068 | } |
069 |
070 | if ( "messages" .equals(fieldname)) { |
071 |
072 | jParser.nextToken(); //current token is "[",move next |
073 |
074 | //messages is array,loop until token equal to "]" |
075 | while (jParser.nextToken() != JsonToken.END_ARRAY) { |
076 |
077 | //display msg1,msg2,msg3 |
078 | System.out.println(jParser.getText()); |
079 |
080 | } |
081 |
082 | } |
083 |
084 | } |
085 | jParser.close(); |
086 |
087 | } catch (JsonGenerationException e) { |
088 |
089 | e.printStackTrace(); |
090 |
091 | } catch (JsonMappingException e) { |
092 |
093 | e.printStackTrace(); |
094 |
095 | } catch (IOException e) { |
096 |
097 | e.printStackTrace(); |
098 |
099 | } |
100 |
101 | } |
102 | } |
103 |
104 |
相关文章推荐
- 通过codehaus来实现json写入文件和读取文件成json对象
- 通过codehaus来实现json写入文件和读取文件成json对象
- Java 通过 BufferReader 实现 文件 写入读取 示例
- java json总结 读取json文件或者把对象写入到json文件里面
- Java 通过 BufferReader 实现 文件 写入读取 示例
- 基于easyui 框架,通过读取json 文件实现省市区三联动的效果
- 利用fscanf和fprintf实现文件读取和写入
- Servlet接口的实现类,路径配置映射,ServletConfig对象,ServletContext对象及web工程中文件的读取
- Java通过InputStream读取和写入文件操作
- python 实现文件打开读取内容然后写入更新内容(文件只打开一次)
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- 通过字符流来对文件进行内容的读取和写入操作
- 通过shell脚本实现从文件中读取数据的几种方法
- Spring通过注解读取json文件
- Android中通过annotation实现java对象和json的转换
- c语言 实现按行读取文件。把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出
- PHP读取目录下所有文件,并通过ajax返回json格式的数据
- Java底层代码实现单文件读取和写入(解决中文乱码问题)
- 通过Aspose实现文件对象嵌入Word功能
- Hadoop中通过ToolRunner和Configured实现直接读取命令行动态出入reduce task数量,jar文件等