<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    如何使用Jackson解析JSON示例

    時間:2025-01-31 14:32:57 java語言 我要投稿
    • 相關推薦

    如何使用Jackson解析JSON示例

      導語:為了方便大家Java的學習,下面是小編給大家提供的如何使用Jackson解析JSON示例,大家可以參考閱讀,更多詳情請關注應屆畢業生考試網。

      package com.bbs.utils.json;

      import java.io.IOException;

      import java.util.ArrayList;

      import java.util.HashMap;

      import java.util.Iterator;

      import java.util.LinkedHashMap;

      import java.util.List;

      import java.util.Map;

      import java.util.Set;

      import org.codehaus.jackson.JsonGenerator;

      import org.codehaus.jackson.JsonParseException;

      import org.codehaus.jackson.map.JsonMappingException;

      import org.codehaus.jackson.map.ObjectMapper;

      import org.codehaus.jackson.node.JsonNodeFactory;

      public class JacksonTest {

      private static JsonGenerator jsonGenerator = null;

      private static ObjectMapper objectMapper = null;

      private static User user = null;

      public static void writeEntity2Json() throws IOException {

      System.out.println("使用JsonGenerator轉化實體為json串-------------");

      // writeObject可以轉換java對象,eg:JavaBean/Map/List/Array等

      jsonGenerator.writeObject(user);

      System.out.println();

      System.out.println("使用ObjectMapper-----------");

      // writeValue具有和writeObject相同的功能

      objectMapper.writeValue(System.out, user);

      }

      public static void writeList2Json() throws IOException {

      List userList = new ArrayList();

      userList.add(user);

      User u = new User();

      u.setUid(10);

      u.setUname("archie");

      u.setUpwd("123");

      userList.add(u);

      objectMapper.writeValue(System.out, userList);

      }

      public static void writeMap2Json() {

      try {

      Map map = new HashMap();

      User u = new User();

      u.setUid(10);

      u.setUname("archie");

      u.setUpwd("123");

      map.put("uid", u.getUid());

      map.put("uname", u.getUname());

      map.put("upwd", u.getUpwd());

      System.out.println("jsonGenerator");

      jsonGenerator.writeObject(map);

      objectMapper.writeValue(System.out, map);

      } catch (IOException e) {

      e.printStackTrace();

      }

      }

      public static void writeOthersJSON() {

      try {

      String[] arr = { "a", "b", "c" };

      System.out.println("jsonGenerator");

      String str = "hello world jackson!";

      // byte

      jsonGenerator.writeBinary(str.getBytes());

      // boolean

      jsonGenerator.writeBoolean(true);

      // null

      jsonGenerator.writeNull();

      // float

      jsonGenerator.writeNumber(2.2f);

      // char

      jsonGenerator.writeRaw("c");

      // String

      jsonGenerator.writeRaw(str, 5, 10);

      // String

      jsonGenerator.writeRawValue(str, 5, 5);

      // String

      jsonGenerator.writeString(str);

      jsonGenerator.writeTree(JsonNodeFactory.instance.POJONode(str));

      System.out.println();

      // Object

      jsonGenerator.writeStartObject();// {

      jsonGenerator.writeObjectFieldStart("user");// user:

      jsonGenerator.writeStringField("name", "jackson");// name:jackson

      jsonGenerator.writeBooleanField("sex", true);// sex:true

      jsonGenerator.writeNumberField("age", 22);// age:22

      jsonGenerator.writeEndObject();

      jsonGenerator.writeArrayFieldStart("infos");// infos:[

      jsonGenerator.writeNumber(22);// 22

      jsonGenerator.writeString("this is array");// this is array

      jsonGenerator.writeEndArray();// ]

      jsonGenerator.writeEndObject();// }

      User u = new User();

      user.setUid(5);

      user.setUname("tom");

      user.setUpwd("123");

      user.setNumber(3.44);

      // complex Object

      jsonGenerator.writeStartObject();// {

      jsonGenerator.writeObjectField("uid", u);// user:{bean}

      jsonGenerator.writeObjectField("infos", arr);// infos:[array]

      jsonGenerator.writeEndObject();// }

      } catch (Exception e) {

      e.printStackTrace();

      }

      }

      /**

      * JSON字符串轉換為對象

      */

      public static void readJson2Entity() {

      String json = "{\"uid\":5,\"uname\":\"tom\",\"number\":3.44,\"upwd\":\"123\"}";

      try {

      User acc = objectMapper.readValue(json, User.class);

      System.out.println(acc.getUid());

      System.out.println(acc);

      } catch (JsonParseException e) {

      e.printStackTrace();

      } catch (JsonMappingException e) {

      e.printStackTrace();

      } catch (IOException e) {

      e.printStackTrace();

      }

      }

      /**

      * JSON轉換為List對象

      */

      public static void readJson2List() {

      String json = "[{\"uid\":1,\"uname\":\"www\",\"number\":234,\"upwd\":\"456\"},"

      + "{\"uid\":5,\"uname\":\"tom\",\"number\":3.44,\"upwd\":\"123\"}]";

      try {

      List> list = objectMapper.readValue(

      json, List.class);

      System.out.println(list.size());

      for (int i = 0; i < list.size(); i++) {

      Map map = list.get(i);

      Set set = map.keySet();

      for (Iterator it = set.iterator(); it.hasNext();) {

      String key = it.next();

      System.out.println(key + ":" + map.get(key));

      }

      }

      } catch (JsonParseException e) {

      e.printStackTrace();

      } catch (JsonMappingException e) {

      e.printStackTrace();

      } catch (IOException e) {

      e.printStackTrace();

      }

      }

      /**

      * JSON轉換為數組對象

      */

      public static void readJson2Array() {

      String json = "[{\"uid\":1,\"uname\":\"www\",\"number\":234,\"upwd\":\"456\"},"

      + "{\"uid\":2,\"uname\":\"sdfsdf\",\"number\":4745,\"upwd\":\"23456\"}]";

      try {

      User[] arr = objectMapper.readValue(json, User[].class);

      System.out.println(arr.length);

      for (int i = 0; i < arr.length; i++) {

      System.out.println(arr[i]);

      }

      } catch (JsonParseException e) {

      e.printStackTrace();

      } catch (JsonMappingException e) {

      e.printStackTrace();

      } catch (IOException e) {

      e.printStackTrace();

      }

      }

      /**

      * JSON轉換為Map對象

      */

      public static void readJson2Map() {

      String json = "{\"success\":true,\"A\":{\"address\": \"address2\",\"name\":\"haha2\",\"id\":2,\"email\":\"email2\"},"+

      "\"B\":{\"address\":\"address\",\"name\":\"haha\",\"id\":1,\"email\":\"email\"}}";

      try {

      Map> maps = objectMapper.readValue(json, Map.class);

      System.out.println(maps.size());

      Set key = maps.keySet();

      Iterator iter = key.iterator();

      while (iter.hasNext()) {

      String field = iter.next();

      System.out.println(field + ":" + maps.get(field));

      }

      } catch (JsonParseException e) {

      e.printStackTrace();

      } catch (JsonMappingException e) {

      e.printStackTrace();

      } catch (IOException e) {

      e.printStackTrace();

      }

      }

      public static void main(String[] args) {

      user = new User();

      user.setUid(5);

      user.setUname("tom");

      user.setUpwd("123");

      user.setNumber(3.44);

      objectMapper = new ObjectMapper();

      try {

      //jsonGenerator = objectMapper.getJsonFactory().createJsonGenerator(System.out, JsonEncoding.UTF8);

      // writeEntity2Json();

      // writeMap2Json();

      // writeList2Json();

      // writeOthersJSON();

      // readJson2Entity();

      // readJson2List();

      // readJson2Array();

      readJson2Map();

      } catch (Exception e) {

      e.printStackTrace();

      }

      }

      }

      ========================User.java==============

      package com.bbs.utils.json;

      public class User {

      private int uid;

      private String uname;

      private String upwd;

      private double number;

      public double getNumber() {

      return number;

      }

      public void setNumber(double number) {

      this.number = number;

      }

      public int getUid() {

      return uid;

      }

      public void setUid(int uid) {

      this.uid = uid;

      }

      public String getUname() {

      return uname;

      }

      public void setUname(String uname) {

      this.uname = uname;

      }

      public String getUpwd() {

      return upwd;

      }

      public void setUpwd(String upwd) {

      this.upwd = upwd;

      }

    【如何使用Jackson解析JSON示例】相關文章:

    javascript解析json實例05-29

    SpringMVC教程之json交互使用05-28

    在PHP語言中使用JSON04-11

    JavaScript如何實現JSON.stringify03-07

    PHP如何遞歸實現json類06-27

    php使用curl發送json格式數據實例07-08

    java使用反射技術示例06-18

    php中序列化和json使用方法02-21

    c++函數指針使用示例07-26

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人