JsonGenerator写入JSON字符串,JsonParser解析JSON字符串

1、使用JsonGenerator写入JSON

package com.json;import java.io.File;
import java.io.IOException;
import java.util.Map;import org.codehaus.jackson.JsonEncoding;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;public class JacksonTester {public static void main(String args[]){JacksonTester tester = new JacksonTester();try {        	JsonFactory jasonFactory = new JsonFactory();//创建一个JsonGeneratorJsonGenerator jsonGenerator = jasonFactory.createJsonGenerator(new File("student.json"), JsonEncoding.UTF8);jsonGenerator.writeStartObject();jsonGenerator.writeStringField("name", "Mahesh Kumar"); jsonGenerator.writeNumberField("age", 21);jsonGenerator.writeBooleanField("verified", false); jsonGenerator.writeFieldName("marks"); jsonGenerator.writeStartArray(); 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 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"));//		输出        
//         Mahesh Kumar
//         21
//         false
//         [100, 90, 85]} catch (JsonParseException e) {e.printStackTrace();} catch (JsonMappingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

2、使用JsonParser 读取JSON

package com.json;import java.io.File;
import java.io.IOException;import org.codehaus.jackson.JsonEncoding;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonToken;
import org.codehaus.jackson.map.JsonMappingException;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();jsonGenerator.writeStringField("name", "Mahesh Kumar"); jsonGenerator.writeNumberField("age", 21);jsonGenerator.writeBooleanField("verified", false); jsonGenerator.writeFieldName("marks"); jsonGenerator.writeStartArray(); // [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]//}JsonParser jsonParser = jasonFactory.createJsonParser(new File("student.json"));while (jsonParser.nextToken() != JsonToken.END_OBJECT) {//get the current tokenString fieldname = jsonParser.getCurrentName();if ("name".equals(fieldname)) {//move to next tokenjsonParser.nextToken();System.out.println(jsonParser.getText());        	 }if("age".equals(fieldname)){//move to next tokenjsonParser.nextToken();System.out.println(jsonParser.getNumberValue());        	 }if("verified".equals(fieldname)){//move to next tokenjsonParser.nextToken();System.out.println(jsonParser.getBooleanValue());        	 }if("marks".equals(fieldname)){//move to [ jsonParser.nextToken();// loop till token equal to "]"while (jsonParser.nextToken() != JsonToken.END_ARRAY) {System.out.println(jsonParser.getNumberValue()); }}}} catch (JsonParseException e) {e.printStackTrace();} catch (JsonMappingException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

文章出自:https://www.yiibai.com/jackson/


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部