博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java json格式的转换和读取
阅读量:5983 次
发布时间:2019-06-20

本文共 2725 字,大约阅读时间需要 9 分钟。

hot3.png

package com.json;

import java.text.ParseException;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.json.JSONArray;

import org.json.JSONException;
import org.json.JSONObject;

import com.test.JsonHelper;

/**

 * 使用json-lib构造和解析Json数据
 *  *
 */
public class OrgJsonTest {

    /**

     * 构造Json数据
     *
     *
     * JSONException
     */
    public static String BuildJson() throws JSONException {

        // JSON格式数据解析对象

        JSONObject jo = new JSONObject();

        // 下面构造两个map、一个list和一个Employee对象

        Map<String, String> map1 = new HashMap<String, String>();
        map1.put("name", "Alexia");
        map1.put("sex", "female");
        map1.put("age", "23");

        Map<String, String> map2 = new HashMap<String, String>();

        map2.put("name", "Edward");
        map2.put("sex", "male");
        map2.put("age", "24");

        List<Map> list = new ArrayList<Map>();

        list.add(map1);
        list.add(map2);

        Employee employee = new Employee();

        employee.setName("wjl");
        employee.setSex("female");
        employee.setAge(24);

        // 将Map转换为JSONArray数据

        JSONArray ja = new JSONArray();
        ja.put(map1);

        System.out.println("JSONArray对象数据格式:");

        System.out.println(ja.toString());

        // 将Javabean转换为Json数据(需要Map中转)

        JSONObject jo1 = JsonHelper.toJSON(employee);

        System.out.println("\n仅含Employee对象的Json数据格式:");

        System.out.println(jo1.toString());

        // 构造Json数据,包括一个map和一个含Employee对象的Json数据

        jo.put("map", ja);
        jo.put("employee", jo1.toString());
        System.out.println("\n最终构造的JSON数据格式:");
        System.out.println(jo.toString());

        return jo.toString();

    }

    /**

     * 解析Json数据
     *
     * jsonString
     *            Json数据字符串
     * JSONException
     * ParseException
     */
    public static void ParseJson(String jsonString) throws JSONException,
            ParseException {

        JSONObject jo = new JSONObject(jsonString);

        JSONArray ja = jo.getJSONArray("map");

        System.out.println("\n将Json数据解析为Map:");

        System.out.println("name: " + ja.getJSONObject(0).getString("name")
                + " sex: " + ja.getJSONObject(0).getString("sex") + " age: "
                + ja.getJSONObject(0).getInt("age"));

        String jsonStr = jo.getString("employee");

        Employee emp = new Employee();
        JsonHelper.toJavaBean(emp, jsonStr);

        System.out.println("\n将Json数据解析为Employee对象:");

        System.out.println("name: " + emp.getName() + " sex: " + emp.getSex()
                + " age: " + emp.getAge());

    }

    /**

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

//        ParseJson(BuildJson());

        String str="{\"Key\":\"法院层级\",\"Value\":\"46839\",\"Child\":[{\"Key\":\"4\",\"Value\":\"38464\"},{\"Key\":\"3\",\"Value\":\"7901\"},{\"Key\":\"2\",\"Value\":\"474\"}]}";
        Map map=JsonHelper.toMap(str);
        String child=map.get("Child").toString();
        JsonHelper.toMap(child.substring(1,child.length()-1));
        
        
    }

}

转载于:https://my.oschina.net/u/2293326/blog/809076

你可能感兴趣的文章
第一个helloword就遇到了蛋疼
查看>>
[C++基础]002_名字空间(namespace)
查看>>
学习gSOAP从这个网址开始
查看>>
K-means算法(理论+opencv实现)
查看>>
选择排序之python实现
查看>>
美团分布式服务通信框架及服务治理系统OCTO
查看>>
ADF_Starting系列3_使用ADF开发富Web应用程序之开发User Interface
查看>>
NSIS打包+管理员权限+多用户安装
查看>>
【VS2008无法启动asp.net development server】的解决
查看>>
解读HTTP协议,Web客户端请求与相应
查看>>
ny525 一道水题
查看>>
Boolean.valueOf("true")的用法
查看>>
python——内置函数、匿名函数
查看>>
[Leetcode]538. Convert BST to Greater Tree
查看>>
设置渐变色
查看>>
git 教程资源
查看>>
jvm垃圾回收器与内存分配策略
查看>>
机器学习之svm---cv wiki svm
查看>>
多媒体开发之播放器---一个基于FFmpeg、libtorrent的P2P播放器实现
查看>>
剩余数组(从'水果数组'筛选掉'吃了的数组')
查看>>