如何使用Jackson解析JSON示例

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

如何使用Jackson解析JSON示例

package ;

import ception;

import yList;

import Map;

import ator;

import edHashMap;

import ;

import ;

import ;

import Generator;

import ParseException;

import MappingException;

import ctMapper;

import NodeFactory;

public class JacksonTest {

private static JsonGenerator jsonGenerator = null;

private static ObjectMapper objectMapper = null;

private static User user = null;

public static void writeEntity2Json() throws IOException {

tln("使用JsonGenerator轉化實體爲json串-------------");

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

eObject(user);

tln();

tln("使用ObjectMapper-----------");

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

eValue(, user);

}

public static void writeList2Json() throws IOException {

List userList = new ArrayList();

(user);

User u = new User();

id(10);

name("archie");

pwd("123");

(u);

eValue(, userList);

}

public static void writeMap2Json() {

try {

Map map = new HashMap();

User u = new User();

id(10);

name("archie");

pwd("123");

("uid", id());

("uname", name());

("upwd", pwd());

tln("jsonGenerator");

eObject(map);

eValue(, map);

} catch (IOException e) {

tStackTrace();

}

}

public static void writeOthersJSON() {

try {

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

tln("jsonGenerator");

String str = "hello world jackson!";

// byte

eBinary(ytes());

// boolean

eBoolean(true);

// null

eNull();

// float

eNumber(2.2f);

// char

eRaw("c");

// String

eRaw(str, 5, 10);

// String

eRawValue(str, 5, 5);

// String

eString(str);

eTree(Node(str));

tln();

// Object

eStartObject();// {

eObjectFieldStart("user");// user:

eStringField("name", "jackson");// name:jackson

eBooleanField("sex", true);// sex:true

eNumberField("age", 22);// age:22

eEndObject();

eArrayFieldStart("infos");// infos:[

eNumber(22);// 22

eString("this is array");// this is array

eEndArray();// ]

eEndObject();// }

User u = new User();

id(5);

name("tom");

pwd("123");

umber(3.44);

// complex Object

eStartObject();// {

eObjectField("uid", u);// user:{bean}

eObjectField("infos", arr);// infos:[array]

eEndObject();// }

} catch (Exception e) {

tStackTrace();

}

}

/**

* JSON字符串轉換爲對象

*/

public static void readJson2Entity() {

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

try {

User acc = Value(json, s);

tln(id());

tln(acc);

} catch (JsonParseException e) {

tStackTrace();

} catch (JsonMappingException e) {

tStackTrace();

} catch (IOException e) {

tStackTrace();

}

}

/**

* 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 = Value(

json, s);

tln(());

for (int i = 0; i < (); i++) {

Map map = (i);

Set set = et();

for (Iterator it = ator(); ext();) {

String key = ();

tln(key + ":" + (key));

}

}

} catch (JsonParseException e) {

tStackTrace();

} catch (JsonMappingException e) {

tStackTrace();

} catch (IOException e) {

tStackTrace();

}

}

/**

* 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 = Value(json, User[]s);

tln(th);

for (int i = 0; i < th; i++) {

tln(arr[i]);

}

} catch (JsonParseException e) {

tStackTrace();

} catch (JsonMappingException e) {

tStackTrace();

} catch (IOException e) {

tStackTrace();

}

}

/**

* 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 = Value(json, s);

tln(());

Set key = et();

Iterator iter = ator();

while (ext()) {

String field = ();

tln(field + ":" + (field));

}

} catch (JsonParseException e) {

tStackTrace();

} catch (JsonMappingException e) {

tStackTrace();

} catch (IOException e) {

tStackTrace();

}

}

public static void main(String[] args) {

user = new User();

id(5);

name("tom");

pwd("123");

umber(3.44);

objectMapper = new ObjectMapper();

try {

//jsonGenerator = sonFactory()teJsonGenerator(, 8);

// writeEntity2Json();

// writeMap2Json();

// writeList2Json();

// writeOthersJSON();

// readJson2Entity();

// readJson2List();

// readJson2Array();

readJson2Map();

} catch (Exception e) {

tStackTrace();

}

}

}

======================================

package ;

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) {

er = number;

}

public int getUid() {

return uid;

}

public void setUid(int uid) {

= uid;

}

public String getUname() {

return uname;

}

public void setUname(String uname) {

e = uname;

}

public String getUpwd() {

return upwd;

}

public void setUpwd(String upwd) {

= upwd;

}