jackjson 三分钟向导 集合处理

https://github.com/FasterXML/jackson-databind/

 

public class MyValue1 {

private String f1;

 

public MyValue1() {

super();

}

 

public MyValue1(String f1) {

super();

this.f1 = f1;

}

 

public String getF1() {

return f1;

}

 

public void setF1(String f1) {

this.f1 = f1;

}

 

}

 

 

 

-----------------------

 

import java.util.List;

 

public class MyValue {

public String name;

public int age;

public List<MyValue1> myvalue1s;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

 

public MyValue() {

// TODO Auto-generated constructor stub

}

 

public MyValue(String name, int age) {

super();

this.name = name;

this.age = age;

}

 

public List<MyValue1> getMyvalue1s() {

return myvalue1s;

}

public void setMyvalue1s(List<MyValue1> myvalue1s) {

this.myvalue1s = myvalue1s;

}

 

}

 

---------------------------

 

 

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

 

import com.fasterxml.jackson.core.type.TypeReference;

import com.fasterxml.jackson.databind.ObjectMapper;

 

/**

 * 

 <dependency>

    <groupId>com.fasterxml.jackson.core</groupId>

    <artifactId>jackson-databind</artifactId>

    <version>${jackson.version}</version>

  </dependency>

 */

public class JackJsonCollection {

 

 

public void test() throws Exception {

ObjectMapper mapper = new ObjectMapper();

//json 转 map

System.out.println(" ------------------------------json  转 map------------------------------");

Map<String, Integer> scoreByName = mapper.readValue("{\"name\":88, \"age\":13}", Map.class);

System.out.println(scoreByName.get("name"));

System.out.println(scoreByName.get("age"));

//map 转 json

System.out.println(" ------------------------------map 转 json------------------------------");

System.out.println(mapper.writeValueAsString(scoreByName));

//json 转 list

System.out.println(" ------------------------------json 转 list------------------------------");

List<String> lists = mapper.readValue("[\"00\",\"11\"]", List.class);

System.out.println(lists.get(0));

System.out.println(lists.get(1));

//list 转 json

System.out.println(" ------------------------------list 转 json------------------------------");

System.out.println(mapper.writeValueAsString(lists));

//复杂类转换

System.out.println(" ------------------------------复杂类转换------------------------------");

Map<String, MyValue> results1 = new HashMap<String, MyValue>();

 

MyValue v0 = new MyValue("n0", 0);

List<MyValue1> myvalue0s = new ArrayList<MyValue1>();

myvalue0s.add(new MyValue1("f0"));

v0.setMyvalue1s(myvalue0s);

results1.put("0", v0);

 

MyValue v1 = new MyValue("n1", 0);

List<MyValue1> myvalue1s = new ArrayList<MyValue1>();

myvalue1s.add(new MyValue1("f1"));

v1.setMyvalue1s(myvalue1s);

results1.put("1", v1);

String jsonSource = mapper.writeValueAsString(results1);

System.out.println(jsonSource);

System.out.println(" ------------------------------复杂类转换------------------------------");

Map<String, MyValue> results = mapper.readValue(jsonSource,

  new TypeReference<Map<String, MyValue>>() { } );

System.out.println(results.get("0").getMyvalue1s().get(0).getF1());

System.out.println(results);

}

 

 

public static void main(String[] args) throws Exception {

JackJsonCollection jack = new JackJsonCollection();

jack.test();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值