您的位置:首页 > Web前端 > JavaScript

数据解析为json格式

2016-01-04 10:23 721 查看
json是一种轻量级的数据交换格式。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

json格式规则:

1、并列数据间用(",")分隔。

2、映射用(";")表示,例如:"name":"Rose"相当于name="Rose"。

3、并列数据的集合(数组)用("[]")表示。

3、映射的集合(对象)用("{}")表示。

比较复杂的集合嵌套转成json格式,例如:使用json要引入jar包:json-lib-2.1.jar;ezmorph-1.0.6.jar;commons-logging.jar;commons-lang-2.3.jar;commons-collections-3.1.jar;commons-beanutils-1.7.0.jar

 //集合嵌套

 Map<String,Object> map=new HashMap<String,Object>();

 map.put("ret_code", "0");

 ap.put("ret_msg", "");

 Map<String,Object> data=new HashMap<String,Object>();

 List<Object> user_info=new ArrayList<Object>();

 Map<String,Object> info=new HashMap<String,Object>();

 info.put("qsid", "357");

 Map<String,Object> asset=new HashMap<String,Object>();

 asset.put("zcc", "939389.0000");

 info.put("asset", asset);

 info.put("account", "23192794");

 info.put("fundid", "2211");

 List<Object> business=new ArrayList<Object>();

 Map<String,Object> b=new HashMap<String,Object>();

 b.put("999", "0");

 b.put("2135", "1004616744");

 business.add(b);

 info.put("business", business);

 user_info.add(info);

 data.put("user_info", user_info);

 data.put("busin_date", "20151015");

 List<Object> divided=new ArrayList<Object>();

 Map<String,Object> d=new HashMap<String,Object>();

 d.put( "stage", "3");

 d.put("record_date", "20151015");

 d.put("exdividend_date", "20150408");

 divided.add(d);

 data.put("divided_data", divided);

 map.put("ret_data", data);

 //转换成json

 JSONObject object_json=JSONObject.fromObject(map);//map转成json对象

 System.out.println(json);

输出结果:

{

  "ret_code":"0",

  "ret_data":{

     "busin_date":"20151015",

     "user_info":[

        {

          "qsid":"357",

          "asset":

            {

             "zcc":"939389.0000"

             },

          "account":"23192794",

          "fundid":"2211",

          "business":[

             {

              "2135":"1004616744",

              "999":"0"

              }

           ]

        }

    ],

    "divided_data":[

        {

          "exdividend_date":"20150408",

          "record_date":"20151015",

          "stage":"3"

         }

    ]

   },

   "ret_msg":""

 }

 工具类JSONArray和JSONObject可以将对象转换成json数组和json对象

 //list转成json数组

 JSONArray array_json=JSONArray.fromObject(list);

 //对象转换json数组

 UserInfo user = new UserInfo(1001,"张三");

 JSONArray jsonArray = JSONArray.fromObject(user);  

 //数组转换json数组

 String[] arr = {"asd","dfgd","asd","234"};

 JSONArray jsonarray = JSONArray.fromObject(arr);

如果要将json返回前端,写到输出流即可,例如:

 response.setContentType("text/html;charset=utf-8");  

 Writer writer=response.getWriter();  

 writer.writer(json.toString);  

 writer.flush();  

 writer.close();  

 writer=null; 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json格式