json

json-lib
jacson jar包下载

动态修改任何层次的json串
package com.syp.json.test.jacson;

import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONObject;

import org.codehaus.jackson.map.ObjectMapper;

import com.syp.json.bean.Student;
import com.syp.json.bean.StudentList;

public class TestJacson {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

/*String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";
        Student stu = null;
        List<Student> list = null;
        List<Student> tmplist = new ArrayList<Student>();
        try {
            ObjectMapper objectMapper=new ObjectMapper();
           
            StudentList studentList=objectMapper.readValue(str, StudentList.class);
      
            list=studentList.getStudent();
            for(Student s:list){
                System.out.println(s.getName());
                if(s.getName().equals("leilei"))
                {
                s.setName("hanmeimei");
                }
                else
                {
                s.setName("hanmeimei01");
                }
                tmplist.add(s);
            }
            //studentList.getStudent().removeAll(tmplist);
            String orderJson = objectMapper.writeValueAsString(studentList);
    System.out.println(orderJson);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } */
//String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";
        Student stu = new Student();
        stu.setAge(22);
        stu.setName("syper");
       
        Student stu2 = new Student();
        stu2.setAge(222);
        stu2.setName("syper2");
       
        // jsonConfig可以配置不输出哪些项
        List<Student> list = new ArrayList<Student>();
        list.add(stu);
        list.add(stu2);
        StudentList studentList = new StudentList();
        studentList.setStudent(list);
        List<Student> tmplist = new ArrayList<Student>();
        try {
            ObjectMapper objectMapper=new ObjectMapper();
           
            JSONObject str = JSONObject.fromObject(studentList);
            studentList=objectMapper.readValue(str.toString(), StudentList.class);
           
            list=studentList.getStudent();
            for(Student s:list){
                System.out.println(s.getName());
                if(s.getName().equals("leilei"))
                {
                s.setName("hanmeimei");
                }
                else
                {
                s.setName("hanmeimei01");
                }
                tmplist.add(s);
            }
            //studentList.getStudent().removeAll(tmplist);
            String orderJson = objectMapper.writeValueAsString(studentList);
    System.out.println(orderJson);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

}

}

你可能感兴趣的:(json)