获取的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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php date()函数不支持处理大于2147483648的数字?「建议收藏」

    php date()函数不支持处理大于2147483648的数字?

    2022年2月20日
    54
  • Java基础语法(三)工欲善其事,必先利其器

    Java基础语法(三)工欲善其事,必先利其器

    2021年4月21日
    181
  • 什么是人工智能,大数据,云计算,物联网系统_5g物联网人工智能大数据

    什么是人工智能,大数据,云计算,物联网系统_5g物联网人工智能大数据人工智能,英文缩写为AI。是利用计算机科学技术研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法通过人脑甚至主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。 互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转…

    2022年10月6日
    3
  • 最大似然估计详解

    最大似然估计详解&nbsp&nbsp最大似然估计是建立在最大似然原理的基础之上。最大似然原理的直观理解是:设一个随机试验有若干个可能的结果A1,A2,…,An,在一次试验中,结果Ak出现,则一般认为实验对Ak的出现最有利,即Ak出现的概率较大。这里用到了”概率最大的事件最可能出现”的直观想法,然后对Ak出现的概率公式求极大值,这样便可解未知参数。下面用一个例子说明最大似然估计的思想方法。&nbsp&nbsp假设一个

    2025年7月2日
    1
  • java实现国密SM4加密「建议收藏」

    java实现国密SM4加密「建议收藏」前言最近世界政治影响,我国也开始要求算法的使用,以避免来自外国的黑客入侵。我们在使用加密算法时,有必要选择使用国密算法进行加密一、国密SM4是什么? 国密即国家密码局认定的国产密码算法。 主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。 SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA ECC2.

    2022年10月5日
    4
  • Mysql 启动命令详解「建议收藏」

    Mysql 启动命令详解「建议收藏」1,找到mysql安装的bin目录,启动mysql进程。如:本机是:C:\ProgramFiles\MySQL\MySQLServer5.7\bin在cmd里切换到此目录,C:\>cdC:\ProgramFiles\MySQL\MySQLServer5.7\binC:\ProgramFiles\MySQL\MySQLServer5.7\bin>查看…

    2022年5月21日
    40

发表回复

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

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