public class JacksonTester {
  public static void main(String args[]){
   JacksonTester tester = new JacksonTester();
   try {    
     JsonFactory jasonFactory = new JsonFactory();
 
     JsonGenerator jsonGenerator = jasonFactory.createJsonGenerator(new File(
      "student.json"), JsonEncoding.UTF8);
     // {
     jsonGenerator.writeStartObject();
     // "name" : "Mahesh Kumar"
     jsonGenerator.writeStringField("name", "Mahesh Kumar");
     // "age" : 21
     jsonGenerator.writeNumberField("age", 21);
     // "verified" : false
     jsonGenerator.writeBooleanField("verified", false);
     // "marks" : [100, 90, 85]
     jsonGenerator.writeFieldName("marks");
     // [
     jsonGenerator.writeStartArray();
     // 100, 90, 85
     jsonGenerator.writeNumber(100);
     jsonGenerator.writeNumber(90);
     jsonGenerator.writeNumber(85);
     // ]
     jsonGenerator.writeEndArray();
     // }
     jsonGenerator.writeEndObject();
     jsonGenerator.close();    
 
     //result student.json
     //{
     //  "name":"Mahesh Kumar",
     //  "age":21,
     //  "verified":false,
     //  "marks":[100,90,85]
     //}
     ObjectMapper mapper = new ObjectMapper();
     Map<String,Object> dataMap = mapper.readValue(new File("student.json"), Map.class);
 
     System.out.println(dataMap.get("name"));
     System.out.println(dataMap.get("age"));
     System.out.println(dataMap.get("verified"));
     System.out.println(dataMap.get("marks"));
   } catch (JsonParseException e) {
     e.printStackTrace();
   } catch (JsonMappingException e) {
     e.printStackTrace();
   } catch (IOException e) {
     e.printStackTrace();
   }
  }
}
 
 
 
 
junit test
public class JsonStreamTest {
    @Test
    public void read() throws JsonParseException, IOException{
        JsonFactory factory = new JsonFactory();
        InputStream is = this.getClass().getClassLoader().getResourceAsStream("user.json");
        JsonParser jsonParse = factory.createJsonParser(is);
        User user = new User();
        JsonToken token = jsonParse.nextToken();
        if(token==JsonToken.START_OBJECT){
            while((jsonParse.nextToken())!=JsonToken.END_OBJECT){
                String fieldName = jsonParse.getCurrentName();
                jsonParse.nextToken();
                if("name".equalsIgnoreCase(fieldName)){
                    Name name = new Name();
                    while(jsonParse.nextToken()!=JsonToken.END_OBJECT){
                        if(jsonParse.getCurrentName().equals("first")){
                            name.setFirst(jsonParse.getText());
                        }
                        if(jsonParse.getCurrentName().equals("last")){
                            name.setLast(jsonParse.getText());
                        }
                    }
                    user.setName(name);
                }else if("gender".equals(fieldName)){
                    String text = jsonParse.getText();
                    user.setGender(Gender.valueOf(text));
                }else if("verified".equals(fieldName)){
                    user.setVerified(jsonParse.getBooleanValue());
                }else if("userImage".equals(fieldName)){
                    user.setUserImage(jsonParse.getBinaryValue());
                }
            }
        }
        jsonParse.close();
    }

最新文章

  1. 茂名石化BPM应用实践 ——业务协同及服务共享平台建设和应用
  2. Linux主机上实现树莓派的交叉编译及文件传输,远程登陆
  3. 《一个操作系统的实现》 ubuntu系统环境配置
  4. 如何使用android百度地图离线地图
  5. Android与Struts2简单json通信
  6. cygwin-介绍-安装
  7. Snowflake weakness and type2 fact table
  8. js中常用数组方法concat join push pop slice splice shift
  9. 李洪强iOS开发之零基础学习iOS开发】【02-C语言】01-概述
  10. NET Framework GAC目录构造
  11. 什么是redis数据库?
  12. MYSQL查询计划KEY_LEN
  13. Oracle中join left,join right,inner join,(+) 等
  14. iOS开发——浅谈构架与用户体验
  15. cxgrid学习
  16. 解决span的bug--不能自动换行的问题
  17. SkylineGlobe 支持火狐和谷歌浏览器的可运行示例代码
  18. IE8下面parseInt(&#39;08&#39;)、parseInt(&#39;09&#39;)会转成0
  19. C# ashx接收ContentType=&quot;text/xml&quot;类型值
  20. 20155223 2016-2017-2 《Java程序设计》第9周学习总结

热门文章

  1. 爬虫-requests
  2. 饮冰三年-人工智能-Python-23 Python PyCharm 使用中常见的问题
  3. PHP中的面向对象思想
  4. IntelliJ IDEA 使提示不区分大小写
  5. form组件
  6. Yii2中mongodb使用ActiveRecord的数据操作
  7. easyui提交form表单接受数据处理、
  8. Ubuntu文件写入内容时出现错误 E121:无法打开并写入文件解决方案
  9. Emgucv - ImageBox控件
  10. Node.js_文件系统 FS