zoukankan      html  css  js  c++  java
  • 解析json

    package com.spring.mvc;

    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;

    import javax.servlet.http.HttpServletResponse;

    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    import net.sf.json.JsonConfig;

    import org.junit.Test;
    import org.springframework.web.bind.annotation.ResponseBody;

    /**
    * @description 功能描述:

    * @param 参 数:
    * @createdate 建立日期: 2014-9-1上午10:01:51
    * @projectname 项目名称: spring_mvc
    * @packageclass 包及类名: com.spring.mvc.Json.java
    */
    public class Json {


    // @Test
    public void json1(){

    String yey = "[{"id":1,"pId":-1,"name":"根节点"},{"id":2,"open":true,"pId":1,"name":"你好"}]";

    JSONArray o = JSONArray.fromObject(yey);

    List<Map<String,Object>> mapListJson = (List)o;
    for (int i = 0; i < mapListJson.size(); i++) {
    Map<String,Object> obj=mapListJson.get(i);
    for(Entry<String, Object> entry : obj.entrySet()){
    String strkey1 = entry.getKey();
    Object strval1 = entry.getValue();
    System.out.println("KEY:"+strkey1+" --> Value:"+strval1+" ");
    }
    }

    }



    /**
    * @projectname 项目名称: spring_mvc
    * @packageclass 包及类名: com.spring.mvc.Json.java
    * @description 功能描述: 一个key 对应多个map 转换json 串

    * @param 参 数:
    * @return 返回类型: {"key":{"2":"小黄","1":"小蓝"}}
    * @createdate 建立日期: 2014-9-1上午11:22:05
    */
    // @Test
    public void json2 (){
    Map<Object, Map<String, String>> map = new HashMap<Object, Map<String,String>>();
    Map<String, String> map1 = new HashMap<String, String>();
    map1.put("1", "小蓝");
    map1.put("2", "小黄");

    map.put("key", map1);

    JSONObject json = JSONObject.fromObject(map);

    System.out.println(json);

    }


    /**
    * @projectname 项目名称: spring_mvc
    * @packageclass 包及类名: com.spring.mvc.Json.java
    * @description 功能描述: 解析 {"key":{"2":"小黄","1":"小蓝"}} 格式json
    * @author 作 者: 周志伟
    * @param 参 数:
    * @return 返回类型: void
    * @createdate 建立日期: 2014-9-1上午11:22:40
    */
    @Test
    public void json3(){
    JSONObject node = JSONObject.fromObject("{"key":{"2":"小黄","1":"小蓝"}}");
    List<Object> nodes = new ArrayList<Object>();
    JSONArray jsons = JSONArray.fromObject(node.get("key"));
    List<Object> treeNodes = new ArrayList<Object>();
    for (Object o : jsons) {
    JSONObject jsonNode = JSONObject.fromObject(o);

    treeNodes.add(jsonNode.getString("2"));
    treeNodes.add(jsonNode.getString("1"));
    nodes.add(treeNodes);
    }

    for (Object object : treeNodes) {
    System.out.println(object);
    }

    }


    /**
    * @projectname 项目名称: spring_mvc
    * @packageclass 包及类名: com.spring.mvc.Json.java
    * @description 功能描述: 解析 {"key":["红","黄","蓝"]} 格式json
    * @author 作 者: 周志伟
    * @param 参 数:
    * @return 返回类型: void
    * @createdate 建立日期: 2014-9-1上午11:22:40
    */
    @Test
    public void json4(){

    Map<Object, List<Object>> map = new HashMap<Object, List<Object>>();
    List<Object> list = new ArrayList<Object>();
    list.add("红");
    list.add("黄");
    list.add("蓝");
    map.put("key", list);

    JSONObject json = JSONObject.fromObject(map);//输出json格式

    System.out.println(json);
    }

    /**
    * @projectname 项目名称: spring_mvc
    * @packageclass 包及类名: com.spring.mvc.Json.java
    * @description 功能描述: 解析 {"key":["红","黄","蓝"]} 格式json
    * @author 作 者: 周志伟
    * @param 参 数:
    * @return 返回类型: void
    * @createdate 建立日期: 2014-9-1上午11:22:40
    */
    @Test
    public void json4Type(){

    JSONObject node = JSONObject.fromObject("{"key":["红","黄","蓝"]}");
    JSONArray jsons = (JSONArray) node.get("key");

    for (Object object : jsons) {
    System.out.println(object);
    }

    }




    public static void list2JsonArry(List list,String dateFormat,HttpServletResponse response){

    try{
    DateProcessor processor = new DateProcessor();
    processor.setPattern(dateFormat);

    JsonConfig config = new JsonConfig();
    //ʱ���ʽʹ���Զ���ת����
    config.registerJsonValueProcessor(Date.class, processor);

    //��list<Object>������JSON�ַ�
    JSONArray jsonArray = JSONArray.fromObject(list,config);
    System.out.println(jsonArray);

    //������Ӧ�����ʽ
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out;
    out = response.getWriter();
    out.print(jsonArray.toString());
    out.close();


    }catch(Exception e){

    e.printStackTrace();

    }





    }







    }

  • 相关阅读:
    LeetCode 146
    Codeforces Round #644 (Div. 3) 题解
    AtCoder Grand Contest 044
    约数个数求解+约数求和(唯一分解定理)(遍历map的写法!)
    [蓝桥杯][2013年第四届真题]危险系数(DFS)
    Codeforces Round #674 (Div. 3)(A->D(前缀和出现次数))
    Codeforces Round #673 (Div. 2)B. Two Arrays(贪心)
    Codeforces Round #672 (Div. 2)(A->C2)(B位运算,C贪心,DP)
    质数笔记
    2020 CCPC
  • 原文地址:https://www.cnblogs.com/yy123/p/4011256.html
Copyright © 2011-2022 走看看