必威体育Betway必威体育官网
当前位置:首页 > IT技术

使用JSONObject和JSONArray输出带有数组的json数据

时间:2019-06-02 21:45:10来源:IT技术作者:seo实验室小编阅读:62次「手机版」
 

jsonarray

最近写接口需要通过json格式返回数据给前端。emmm,刚开始碰到了坑,因为对这两个方法不熟悉,昨天思考一下午没想出来,今天看了一下其他项目代码大概了解到怎么用了。。遇坑的原因是昨天倒错了jsonarray包,没注意到本来项目里有封装有一个JSONArray包。。。

项目要输出带有数组的数据,基本思路就是先创建一个jsonobject对象,再创建一个JSONArray对象,可以使用JSONArray的put方法在中添加多个JSONObject对象后,再用JSONObject的put方法把JSONArray添加进来。。具体实现代码如下:

        JSONObject returnJson = new JSONObject();

		JSONArray array = new JSONArray();
		JSONArray array2 = new JSONArray();

		JSONObject kq = new JSONObject();
		kq.put("kqdm", "库区代码");
	
		kq.put("kqmc", "库区名称");
		kq.put("kqdz", "库区地址");
		kq.put("ccsscq", "仓储设施产权");
	    kq.put("sjcr", "设计仓容");
	    kq.put("yxcr", "有效仓容");
	    kq.put("sjgr", "设计罐容");
	    kq.put("yxgr", "有效罐容");
	    kq.put("frsfzh", "法人身份证号");
	    kq.put("frxm", "法人姓名");
	    kq.put("frsjh", "法人手机号");
	    kq.put("lklxr", "粮库联系人");
	    kq.put("lklxrdh", "粮库联系人电话");
	    kq.put("bgdh", "办公电话");

         array.put(kq);

        JSONObject cf = new JSONObject();

        cf.put("kqdm", "库区代码");
	    cf.put("cfdm", "仓房代码");
	    cf.put("cfbh", "仓房编号");
	    cf.put("cfmc", "仓房名称");
	    cf.put("cx", "仓型");
	    cf.put("cwc", 1);
	    cf.put("cwk", 2);
	    cf.put("cwyg", 3);

        array2.put(cf);

		returnJson.put("dwmc", "单位名称");
		returnJson.put("qydm", "企业代码");
		returnJson.put("dwxz", "单位性质");
		returnJson.put("lsgx", "隶属关系");
		returnJson.put("zyyw", "主营业务");
		returnJson.put("jyfw", "经营范围");
		returnJson.put("dzxlysrs", "大专学历以上人数");

		returnJson.put("kqlb", array);
		returnJson.put("cflb", array2);

        return returnJson.toString();

输出结果:(结果数据不对应)

{
    "lskqs": "粮食库区数",
    "cfdm": "仓房代码",
    "qydm": "企业代码",
    "dwmc": "单位名称",
    "lsgx": "隶属关系",
    "kqs": "库区数",
    "jyfw": "经营范围",
    "zyyw": "主营业务",
    "ygs": "油罐数",
    "ygbh": "油罐编号",
    "yzkqs": "油脂库区数",
    "kqlb": [
      {
        "sffhwry": "是否符合污染源",
        "xzqydm": "行政区域代码",
        "frsfzh": "法人身份证号",
        "lklb": "粮库类别",
        "jcrq": "建成日期",
        "ywxfsy": "有无消防水源",
        "dzyx": "电子邮箱",
        "kqdm": "库区代码",
        "sjcr": "设计仓容",
        "ccsscq": "仓储设施产权",
        "yxcr": "有效仓容",
        "sjgr": "设计罐容",
        "frsjh": "法人手机号",
        "ywfhss": "有无防洪设施",
        "jd": 3,
        "ywtlzyx": "有无铁路专用线",
        "status": "状态"
      }
    ],
    "cfs": "仓房数",
    "zzyzgzsrs": "有职业资格证书人数",
    "yxgr": "有效罐容",
    "ajlb": [
      {
        "czsj": "Fri Sep 07 15:56:07 CST 2018",
        "yglx": "油罐类型",
        "ygjfssssfwh": "油罐及附属设施是否完好",
        "ygbh": "油罐编号",
        "zj": 3,
        "ywjrsz": "有无加热设置",
        "jzsj": "建造时间",
        "jdfs": "检定方式",
        "yxx": "有效性",
        "ygmc": "油罐名称",
        "kqdm": "库区代码",
        "gd": 3,
        "xgsj": "修改时间",
        "hjfs": "焊接方式",
        "status": "状态"
      }
    ]}

相关阅读

爱淘宝的每日红包链接在哪?爱淘宝红包怎么使用?

今天seo实验室小编要来给各位讲述的内容是爱淘宝的每日红包链接在哪?爱淘宝红包怎么使用?如果大家感兴趣的话,那就跟上小编我的脚

相机参数标定(camera calibration)及标定结果如何使用

一直都想写一写这个主题,但是,一直都感觉有点虚,也没有去整理。在网上搜了一下,发现大多数都是转来转去,看着也是似懂非懂的,让人很老火

我的rokid的使用经验

备注:更多资料尽在开发者社区的文档中心               RokidOS开放源代码项目简介 RokidOS是 Rokid领导的基于云端语音服

代理服务器的常用使用方法介绍(图文教程)

大多费尔公用模块都需要连接互联网,但有时可能因为网络问题而无法正常连接,这时可以尝试使用代理服务器。但首先您必需知道代理服务

教您htc恢复出厂设置的使用技巧方法

恢复出厂设置这个功能并不是经常使用的,因为误操作引起的后果是非常严重的。恢复出厂设置从字面上就可以理解,手机中的所有设置将恢

分享到:

栏目导航

推荐阅读

热门阅读