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