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


相关推荐

  • (建议收藏)TCP协议灵魂之问,巩固你的网路底层基础

    (建议收藏)TCP协议灵魂之问,巩固你的网路底层基础

    2022年2月13日
    51
  • 微信小程序列表页面_小程序分享跳转指定页面

    微信小程序列表页面_小程序分享跳转指定页面尽量不要用缓存去写效果展示:点击编辑,进入编辑页第一页编辑按钮:<viewclass=”bj-btn”bindtap=”redactGroup”data-id=”{{传递的id}}”>编辑</view>redactGroup方法:options.currentTarget.dataset.前面自定义的名字redactGroup(options){letid=options.currentTarget.dataset.id;…

    2022年8月18日
    9
  • sigprocmask sigaction

    sigprocmask sigaction sigprocmask:用于随时添加信号屏蔽字;sigaction :signal增强版本,当处理信号时,可以随意添加信号屏蔽字sigset_tnewmask,oldmask,pendmask;signal(SIGINT,sig_handler);sigemptyset(&amp;newmask);sigaddset(&amp;…

    2022年5月26日
    42
  • 设计模式、框架、架构、平台的区别「建议收藏」

    设计模式、框架、架构、平台的区别「建议收藏」区分什么是架构、框架、模式和平台,一直都感觉这几个词过于抽象和模糊,今天大家来说说到底什么是架构、框架、模式和平台? 收集了的一些来自网上各自的定义和区分如下: 设计模式 1、设计模式为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单。那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系,是前人总结的经验

    2022年10月10日
    3
  • CentOS 7 Linux iptables 开放端口映射

    CentOS 7 Linux iptables 开放端口映射/bin/systemctlstop firewalld.servicesystemctldisablefirewalld.serviceyuminstalliptables-servicesPackageiptables-services-1.4.21-17.el7.x86_64alreadyinstalledandlatestversionvi/e…

    2022年8月30日
    6
  • 内测体验:JetBrains面向未来的Fleet编辑器是什么+究竟怎样 使用初体验+与vsc对比

    内测体验:JetBrains面向未来的Fleet编辑器是什么+究竟怎样 使用初体验+与vsc对比引言上个月,我在看到某公众号推广后,作为热衷于先进技术、常年游历于各个软件公司内测组的用户自然是早早申请了内测。因为在申请时官网的公告是“我们也不知道新一代编辑器(Fleet)什么时候可以与大家见面”,因此我也没有过多在意。令人意外的是,昨天晚上22:09,我收到了来自JetBrains的邮件。此处点名一下GitHubCopilot项目,申请完了这么久还不给个信[手动旺柴]简介如果你实在不知道什么是JetBrains,那你也应该知道PyCharm,再次也要知道AndroidStudio。

    2022年6月7日
    58

发表回复

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

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