json字符串的生成与解析

json字符串的生成与解析

json报文如下

{

"data": {
	"msg": "成功",
	"createTime": 1590119797,
	"from": "Atidate",
	"to": "CSDN",
	"content": {
		"deptName": "总部",
		"emp": [{
			"empId": "100001",
			"empSex": "男",
			"empName": "张三"
		}, {
			"empId": "100002",
			"empSex": "女",
			"empName": "李四"
		}],
		"deptAdrrs": "北京",
		"deptNo": "01"
	}
}

}

需要的包

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

json生成

public static void main(String[] args) {
        /**
         * 生成json数据
         *
         * */
        //当前时间戳(秒)
        long time = System.currentTimeMillis() / 1000;
        JSONObject json = new JSONObject();
        JSONObject dataJson = new JSONObject();

        dataJson.put("from", "Atidate");
        dataJson.put("to", "CSDN");
        dataJson.put("createTime", time);
        dataJson.put("msg", "成功");

        JSONObject dept = new JSONObject();
        dept.put("deptNo", "01");
        dept.put("deptName", "总部");
        dept.put("deptAdrrs", "北京");

        JSONObject emp1 = new JSONObject();
        emp1.put("empId", "100001");
        emp1.put("empName", "张三");
        emp1.put("empSex", "男");

        JSONObject emp2 = new JSONObject();
        emp2.put("empId", "100002");
        emp2.put("empName", "李四");
        emp2.put("empSex", "女");

        JSONArray emp = new JSONArray();
        emp.add(emp1);
        emp.add(emp2);
        dept.put("emp", emp);

        dataJson.put("content", dept);
        json.put("data", dataJson);
        System.out.println(json);
    }

json解析

	/**
     * 解析json数据
     * @param json json字符串
     * 
     * */
    private static void readJSON(String json){
        JSONObject jsonObject = JSONObject.fromObject(json);
        JSONObject jsonData = jsonObject.getJSONObject("data");

        String to = jsonData.getString("to");
        String msg = jsonData.getString("msg");
        String from = jsonData.getString("from");
        String createTime = jsonData.getString("createTime");

        String deptNo = jsonData.getJSONObject("content").getString("deptNo");
        String deptName = jsonData.getJSONObject("content").getString("deptName");
        String deptAdrrs = jsonData.getJSONObject("content").getString("deptAdrrs");

        String empId = (String) jsonData.getJSONObject("content").getJSONArray("emp").getJSONObject(0).get("empId");
        String empSex = (String) jsonData.getJSONObject("content").getJSONArray("emp").getJSONObject(0).get("empSex");
        String empName = (String) jsonData.getJSONObject("content").getJSONArray("emp").getJSONObject(0).get("empName");

        System.out.println("msg:" + msg);
        System.out.println("createTime:" + createTime);
        System.out.println("from:" + from);
        System.out.println("to:" + to);
        System.out.println("deptNo:" + deptNo);
        System.out.println("deptName:" + deptName);
        System.out.println("deptAdrrs:" + deptAdrrs);
        System.out.println("empId:" + empId);
        System.out.println("empSex:" + empSex);
        System.out.println("empName:" + empName);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值