| 由于方法提供的json数据中有我不想要的东西,有没有方法在java里对json 进行修改 [
    {
        "Name": "P1",
        "UID": 1,
        "Tasks": [
            {
                "Name": "task1",
                "UID": "p1",
                "Start": "2007-01-03T00:00:00",
                "Finish": "2007-01-03T23:59:59",
                "PercentComplete": 0,
                "Duration": 86400,
                "ParentUID": 1,
                "_id": 1,
                "__Index": 0
            },
            {
                "Name": "task2",
                "UID": "p2",
                "Start": "2007-01-07T00:00:00",
                "Finish": "2007-01-09T23:59:59",
                "PercentComplete": 50,
                "Duration": 259200,
                "ParentUID": 1,
                "_id": 2,
                "__Index": 0
            }
        ],
        "_id": 1,
        "_uid": 1,
        "_pid": -1,
        "_level": 0,
        "_height": 27
    },
  
    {
        "Name": "P4",
        "UID": 4,
        "Tasks": [],
        "_id": 4,
        "_uid": 4,
        "_pid": -1,
        "_level": 0
    }
]其中    “ParentUID”: 1, {Name: "P1", UID: 1,
		Tasks: [
			{Name: "task1", UID: "p1", Start: "2007-01-03T00:00:00", Finish: "2007-01-03T23:59:59", PercentComplete: 0, Duration: 1*24*3600},
		]
	},这么多。所以我把最上面的json 转化为对象的过程,是出错的。 | |
| 10分 | 1.   Java代码中利用map及list构造json对象 Map构造json: Map map = new HashMap(); map.put(“test1″,”10001”); map.put(“test2″,”10002”); map.put(“test3″,”10003”); JSON json = JSONObject.fromObject(map); json解析成Java对象: MorphDynaBean m = (MorphDynaBean) JSONSerializer.toJava(json); /*构造MorphDynaBean对象*/ m.get(“test1”); m.get(“test2”); m.get(“test3”); List构造json: List list = new ArrayList(); list.add(“10001”); list.add(“10002”); list.add(“10003”); JSON json = JSONArray.fromObject(list); ArrayList ls = (ArrayList) JSONSerializer.toJava(json); json解析成Java对象 ArrayList arrayList = (ArrayList) JSONSerializer.toJava(ls); /*解析成arraylist*/ ———————————————————————————————————————————————————————————————————————————————— 2. JQuery中使用json对象: ———————————————————————————————————————————————————————————————————————————————— <script type=”text/javascript” src=”/JqueryWeb/jquery/jquery-1.5.2.js”></script> <script type=”text/javascript”> $(document).ready(function(){ $(“#test1”).click(function(){ $.getJSON(“register.action”,{data:”123456″}, function(data){ alert(data.a+”:”+data.b+”:”+data.c); }); }); }); </script> | 
| 5分 | 解析json对象,重新构造成你需要的就可以了,没有其他办法…………… | 
| 借助第三方类库很容易
 否则就要自己把字符串变成树结构 然后也很容易 | |
| 10分 | 你重新订一个model 然后去掉你不需要的json 字段,然后用 第3方工具转化。 | 
| 可以的,完全可以的 | |
| 用fastjson,对象跟json之间互相转换,不需要的属性可以直接用注解配置不要序列化,然后你得到的对象就只是你想要的。 | |
| 5分 | 亲,你想多了,现在json哪还有处理不过来的,多复杂的对象和数据相互转换都是没有问题的!参考一下这篇文章http://blog.csdn.net/luo201227/article/details/23436951 | 
| 5分 | Province p1=new Province(1,"四川省");
  Province p2=new Province(1,"浙江省");
  Province p3=new Province(1,"山西省");
  List<Province> list=new ArrayList<Province>();
  list.add(p1);list.add(p2);list.add(p3);
   response.setHeader("content-type", "text/html;charset=utf-8");
  PrintWriter pw=response.getWriter();
  JsonConfig config=new JsonConfig();
  //使用这个方法可以将不需要转成json格式的字段 屏蔽掉
  config.setExcludes(new String[]{"id"});
  //将一个集合转换成json格式
  String data=JSONArray.fromObject(list,config).toString();
  //讲一个对象转换成Json格式,同样可以使用JsonConfig屏蔽不想要转换的字段
  String data2=JSONObject.fromObject(p1).toString();
  System.out.println(data);
  pw.write(data);我用的是Json-lib | 
| 5分 | private static void test() { // TblAreaCodeDTO dto1 =new TblAreaCodeDTO(); // dto1.setId(“1a”); // dto1.setAreaName(“haha”); // TblAreaCodeDTO dto2 =new TblAreaCodeDTO(); // dto2.setId(“1b”); // dto2.setAreaName(“baba”); // TblAreaCodeDTO dto3 =new TblAreaCodeDTO(); // dto3.setId(“1c”); // dto3.setAreaName(“dada”); // List<TblAreaCodeDTO> list=new ArrayList<TblAreaCodeDTO>(); // list.add(dto1); // list.add(dto2); // list.add(dto3); // JsonConfig j=new JsonConfig(); // //过滤的属性 // j.setExcludes(new String[]{“pageNo”,”pageSize”,”parentId”,”multipartRequestHandler”,”servletWrapper”,”sortIndex”}); // net.sf.json.JSONArray jj=net.sf.json.JSONArray.fromObject(list, j);//对象过滤属性后转json // System.out.println(jj); // TblAreaCodeDTO td=new TblAreaCodeDTO(); // Object[] ob=new Object[jj.size()]; // for (int i = 0; i < jj.size(); i++) { // JSONObject jsj=jj.getJSONObject(i); // ob[i]=jsj.toBean(jsj, TblAreaCodeDTO.class); // // } // //json转对象 // for (int i = 0; i < ob.length; i++) { // td=(TblAreaCodeDTO)ob[i]; // } // System.out.println(“-ID=:”+td.getId()+”—-name=:”+td.getAreaName()); // // } |