获取的string转JSONArray或JSONObject

获取的string转JSONArray或JSONObject² 返回值:JSON格式字符串{“serviceId”:”3c.park.queryparkstandard”,”resultCode”:0,”message”:”成功”,”dataItems”:[{“objectId”:””,”operateType”:”READ”,”attributes”:{“parkCode”:”park01″,

大家好,又见面了,我是你们的朋友全栈君。

停车场收费标准典型案例:

² 返回值:JSON格式字符串

{

“serviceId”:”3c.park.queryparkstandard,

“resultCode”:0,

“message”:”成功“,

“dataItems”:[{

“objectId”:””,

“operateType”:”READ”,

“attributes”:{

“parkCode”: “park01”,

                     “parkName”: “KKMALL_PARK”,

                     tempStandard“: “临时卡收费标准说明

},

“subItems”: [

                {

“objectId”: “”,

                    “operateType”: “READ”,

                    “attributes”: {

“cardType”: 月卡A

                    },

“subItems”: [

{

         “objectId”: “”,

                             “operateType”: “READ”,

                             “attributes”: {

monthPeriod“:1,

money“:150

                            },

“subItems”: []

}

]

                 },

{

“objectId”: “”,

                    “operateType”: “READ”,

                    “attributes”: {

“cardType”: 月卡B

                    },

“subItems”: [

{

         “objectId”: “”,

                             “operateType”: “READ”,

                             “attributes”: {

monthPeriod“:1,

money“:100

                            },

“subItems”: []

}

]

                 }

           ]

}]

}

获取的string转JSONArray或JSONObject

获取的string转JSONArray或JSONObject


下面获得dataItems的内容,及转换

String jsonString= queryParkStandardServices.execute(params,type);

JSONObject jsonobject=new JSONObject();
jsonobject.put(“json0”, jsonString);//如果String是[{},..]这种形式的,可以形成一个新的单json   {json0:…}
System.out.println(“_________0824———-“+jsonString);
JSONArray jsonarray=new JSONArray();
jsonarray.add(jsonobject);//如果jsonobject里的value是{json0:[{},..]}这种形式的就用JSONArray来承接


JSONObject obResult =  (JSONObject) jsonarray.get(0);

JSONArray    jsonarray01=obResult.getJSONArray(“json0”);

JSONObject json01 =  (JSONObject) jsonarray01.get(0);


JSONObject partone=json01.getJSONObject(“attributes”);
String   parkCodes =(String) partone.get(“parkCode”);//停车场编号
String   parkName=(String) partone.get(“parkName”);//停车场名字
String   tempStandard=(String) partone.get(“tempStandard”);//临时卡收费说明

JSONArray parttwo=json01.getJSONArray(“subItems”);






 


List<FeeStandard> FeeStandards=new ArrayList<>();


for(int i=0;i<parttwo.size();i++){


FeeStandard feeStandard=new FeeStandard();


feeStandard.setParkCode(parkCodes);


feeStandard.setParkName(parkName);


feeStandard.setTempStandard(tempStandard);


JSONObject obResult2 = new JSONObject();


obResult2=
(JSONObject) parttwo.get(i);



JSONObject
attributes=(JSONObject) obResult2.get(“attributes”);


String cardType0=(String) attributes.get(“cardType”);//月卡类型








JSONArray
subItems= (JSONArray) obResult2.getJSONArray(“subItems”);





JSONObject subItems0 = (JSONObject) subItems.get(0);





JSONObject  attributes1=(JSONObject) subItems0.get(“attributes”);





int monthPeriod0=(int) attributes1.get(“monthPeriod”);//月卡收费周期


Double money0=(Double) attributes1.get(“money”);//月卡收费标准





feeStandard.setCardType(cardType0);


feeStandard.setMoney(money0);


feeStandard.setMonthPeriod(monthPeriod0);


FeeStandards.add(feeStandard);





}

注:JSONObject  和JsonObject 都是json对象,但获取对象里面元素是需要用不同对象来承接。

                          String results = EntityUtils.toString(response.getEntity());
JsonObject json=new JsonParser().parse(results).getAsJsonObject();
int resultCode=json.get(“resultCode”).getAsInt();
if(resultCode==0){

JsonElement dataItems=json.get(“dataItems”);

                             } 

JsonObject get到的元素用JsonElement 来承接。

             JSONObject partone=json01.getJSONObject(“attributes”);
String orderNo=(String) partone.get(“orderNo”);//订单编号
String carNo1=(String) partone.get(“carNo”);//车牌号
String totalFee=(String) partone.get(“totalFee”);//总费用

JSONObject get到的元素用String来承接。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151417.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月20日 下午1:46
下一篇 2022年6月20日 下午1:46


相关推荐

  • 创建shift后门实验总结_shift加delete

    创建shift后门实验总结_shift加delete一、实验目的及要求 1.学会创建Shift后门 2.掌握shift后门的原理 二、实验设备(环境)及要求 PC机,VC++等,虚拟云平台 三、实验内容与步骤 1.在192.168.1.3的虚拟机上打开cmd命令指示符; 2.输入“cdc:\WINDOWS\system32”,进入该文件夹; 3.输入…

    2026年1月18日
    4
  • 黑群晖安装教程

    黑群晖安装教程旧电脑黑群晖安装教程

    2026年3月19日
    2
  • LLDP协议[通俗易懂]

    LLDP协议[通俗易懂]一、LLDP协议概述随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)就是用于这个目的的协议。LLDP定义在802.1ab中,它是一个二层协议,它提供了一种标准的链路层发现方式。LLDP

    2022年5月5日
    276
  • 第一届新叏辩丨参赛辩手巡礼:G3Kimi

    第一届新叏辩丨参赛辩手巡礼:G3Kimi

    2026年3月12日
    2
  • SQL Server配置管理器没有任何项目

    SQL Server配置管理器没有任何项目今天安装了SQL2017后,连接数据库发现报sql错误2,想着是MSSQLSERVER服务没开,就去配置管理器打开,但是发现新安装的sql,显示没有任何项目辗转查了好久才发现导致的原因是:安装sql过程中,添加实例为当前系统用户,但是之后我修改过系统的计算机名称,导致原实例MSSQLSERVER不识别,所以不显示也不识别。解决方法有:(选择其中一种执行即可)(1)把计算机的名称

    2022年7月20日
    38
  • c语言的条件运算符,条件运算符c语言[通俗易懂]

    c语言的条件运算符,条件运算符c语言[通俗易懂]C语言中条件运算符是什么意思C语言中条件运算符是什么意思?:是什么意思怎么利用呢举例说明条件运算符(?:)是一个三目运算符,即有三个操作数。使用条件运算符(?:)可以实现Ifelse的功能,其一般形式为:表达式1?表达式2:表达式3例如条件语句:if(a>b)max=a;elsemax=b;可用条件表达式写为max=(a>b)?a:b;执…

    2022年10月3日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号