当前位置:网站首页>org.json.JSONObject对象转json,json新增元素,根据json的key获取值。以及list对象格式字符串转jsonArray
org.json.JSONObject对象转json,json新增元素,根据json的key获取值。以及list对象格式字符串转jsonArray
2022-06-30 14:10:00 【全栈程序员站长】
首先设置好多类,并set值,制作一个比较复杂的含有map ,list ,等层级嵌套的对象
package testMap.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import testMap.bean.AllJava;
import testMap.bean.CreditData;
import testMap.bean.ZzcAntifraudReport_antifraudHittedRulesList;
import testMap.bean.ZzcAntifraudReport_blacklistRecordsList;
import testMap.bean.ZzcAntifraudReport_reasonCode;
public class TestClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
ZzcAntifraudReport_antifraudHittedRulesList rule=new ZzcAntifraudReport_antifraudHittedRulesList();
rule.setCc("CC");
rule.setDd("dd");
ZzcAntifraudReport_antifraudHittedRulesList rule2=new ZzcAntifraudReport_antifraudHittedRulesList();
rule2.setCc("cc2");
rule2.setDd("dd2");
ZzcAntifraudReport_blacklistRecordsList records=new ZzcAntifraudReport_blacklistRecordsList();
records.setAa("aa");
records.setBb("bb");
ZzcAntifraudReport_reasonCode code=new ZzcAntifraudReport_reasonCode();
code.setEe("ee");
code.setFf("ff");
CreditData data=new CreditData();
List<ZzcAntifraudReport_antifraudHittedRulesList> rulesLists=new ArrayList<ZzcAntifraudReport_antifraudHittedRulesList>();
rulesLists.add(rule);
rulesLists.add(rule2);
data.setAntifraudHittedRulesList(rulesLists);
data.setZzcAntifraudReport_count(33);
data.setZzcAntifraudReport_id("tt");
AllJava allJava=new AllJava();
Map<String, Object> creditMapsMap=new HashMap<String, Object>();
creditMapsMap.put("creditData", data);
allJava.setCreditMap(creditMapsMap);
allJava.setIfsuccess(true);
//---------至此为复杂对象赋值完毕
//对象转json
JSONObject jsonObject=new JSONObject(allJava);
System.err.println("========"+jsonObject.toString());
// 输出的结果是:========{"ifsuccess":true,"creditMap":{"creditData":{"zzcAntifraudReport_executedAt":null,"resonCode":null,"zzcAntifraudReport_id":"tt","blacklistRecordsList":null,"zzcAntifraudReport_count":33,"zzcAntifraudReport_riskLevel":null,"antifraudHittedRulesList":[{"dd":"dd","cc":"CC"},{"dd":"dd2","cc":"cc2"}],"zzcAntifraudReport_tenantCount":0}}}
try {
//通过key值获取value的第一种方法
Object aaString=jsonObject.get("creditMap");
JSONObject jsonObject2=new JSONObject(aaString.toString());
Object aaString2=jsonObject2.get("creditData");
System.out.println(aaString2);
// 输出的结果是:{"zzcAntifraudReport_executedAt":null,"resonCode":null,"zzcAntifraudReport_id":"tt","blacklistRecordsList":null,"zzcAntifraudReport_count":33,"antifraudHittedRulesList":[{"dd":"dd","cc":"CC"},{"dd":"dd2","cc":"cc2"}],"zzcAntifraudReport_riskLevel":null,"zzcAntifraudReport_tenantCount":0}
JSONObject jsonObject3=new JSONObject(aaString2.toString());
//直接输出
System.out.println(jsonObject3.get("zzcAntifraudReport_id"));
// 输出结果是:tt
System.out.println(jsonObject3.get("antifraudHittedRulesList"));
// 输出结果是:[{"dd":"dd","cc":"CC"},{"dd":"dd2","cc":"cc2"}]
// 使用getString(),getInt()等自带方法获取值
String reportId=jsonObject3.getString("zzcAntifraudReport_id");
System.err.println("reportId"+reportId);//reportIdtt
int count=jsonObject3.getInt("zzcAntifraudReport_count");
System.err.println("count"+count);//count33
// 使用jsonArray 获取map或list<object>格式的字符串,转成jsonArray
Object list=jsonObject3.get("antifraudHittedRulesList");
JSONArray jsonArray =jsonObject3.getJSONArray("antifraudHittedRulesList");
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject4=jsonArray.getJSONObject(i);
jsonObject4.get("dd");
jsonObject4.get("cc");
System.out.println("---"+jsonObject4.toString());
// ---{"dd":"dd","cc":"CC"}
// ---{"dd":"dd2","cc":"cc2"}
}
System.out.println(jsonArray);
// [{"dd":"dd","cc":"CC"},{"dd":"dd2","cc":"cc2"}]
// 使用getBoolean()获取boolean类型
boolean ifsuccess=jsonObject.getBoolean("ifsuccess");
System.err.println("ifsuccess="+ifsuccess);//ifsuccess=true
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}使用到的类:从里到外:
package testMap.bean;
public class ZzcAntifraudReport_reasonCode {
String ee;
String ff;
public String getEe() {
return ee;
}
public void setEe(String ee) {
this.ee = ee;
}
public String getFf() {
return ff;
}
public void setFf(String ff) {
this.ff = ff;
}
}package testMap.bean;
public class ZzcAntifraudReport_blacklistRecordsList {
String aa;
String bb;
public String getAa() {
return aa;
}
public void setAa(String aa) {
this.aa = aa;
}
public String getBb() {
return bb;
}
public void setBb(String bb) {
this.bb = bb;
}
}package testMap.bean;
public class ZzcAntifraudReport_antifraudHittedRulesList {
String cc;
String dd;
public String getCc() {
return cc;
}
public void setCc(String cc) {
this.cc = cc;
}
public String getDd() {
return dd;
}
public void setDd(String dd) {
this.dd = dd;
}
@Override
public String toString() {
return "ZzcAntifraudReport_antifraudHittedRulesList [cc=" + cc
+ ", dd=" + dd + "]";
}
}package testMap.bean;
import java.util.Date;
import java.util.List;
public class CreditData {
private String ZzcAntifraudReport_id;
private Date ZzcAntifraudReport_executedAt;
private List<ZzcAntifraudReport_blacklistRecordsList> blacklistRecordsList;
private List<ZzcAntifraudReport_antifraudHittedRulesList> antifraudHittedRulesList;
private List<ZzcAntifraudReport_reasonCode> resonCode;
private int ZzcAntifraudReport_tenantCount;
private String ZzcAntifraudReport_riskLevel;
private int ZzcAntifraudReport_count;
public String getZzcAntifraudReport_id() {
return ZzcAntifraudReport_id;
}
public void setZzcAntifraudReport_id(String zzcAntifraudReport_id) {
ZzcAntifraudReport_id = zzcAntifraudReport_id;
}
public Date getZzcAntifraudReport_executedAt() {
return ZzcAntifraudReport_executedAt;
}
public void setZzcAntifraudReport_executedAt(Date zzcAntifraudReport_executedAt) {
ZzcAntifraudReport_executedAt = zzcAntifraudReport_executedAt;
}
public List<ZzcAntifraudReport_blacklistRecordsList> getBlacklistRecordsList() {
return blacklistRecordsList;
}
public void setBlacklistRecordsList(
List<ZzcAntifraudReport_blacklistRecordsList> blacklistRecordsList) {
this.blacklistRecordsList = blacklistRecordsList;
}
public List<ZzcAntifraudReport_antifraudHittedRulesList> getAntifraudHittedRulesList() {
return antifraudHittedRulesList;
}
public void setAntifraudHittedRulesList(
List<ZzcAntifraudReport_antifraudHittedRulesList> antifraudHittedRulesList) {
this.antifraudHittedRulesList = antifraudHittedRulesList;
}
public List<ZzcAntifraudReport_reasonCode> getResonCode() {
return resonCode;
}
public void setResonCode(List<ZzcAntifraudReport_reasonCode> resonCode) {
this.resonCode = resonCode;
}
public int getZzcAntifraudReport_tenantCount() {
return ZzcAntifraudReport_tenantCount;
}
public void setZzcAntifraudReport_tenantCount(int zzcAntifraudReport_tenantCount) {
ZzcAntifraudReport_tenantCount = zzcAntifraudReport_tenantCount;
}
public String getZzcAntifraudReport_riskLevel() {
return ZzcAntifraudReport_riskLevel;
}
public void setZzcAntifraudReport_riskLevel(String zzcAntifraudReport_riskLevel) {
ZzcAntifraudReport_riskLevel = zzcAntifraudReport_riskLevel;
}
public int getZzcAntifraudReport_count() {
return ZzcAntifraudReport_count;
}
public void setZzcAntifraudReport_count(int zzcAntifraudReport_count) {
ZzcAntifraudReport_count = zzcAntifraudReport_count;
}
@Override
public String toString() {
return "CreditData [ZzcAntifraudReport_id=" + ZzcAntifraudReport_id
+ ", ZzcAntifraudReport_executedAt="
+ ZzcAntifraudReport_executedAt + ", blacklistRecordsList="
+ blacklistRecordsList + ", antifraudHittedRulesList="
+ antifraudHittedRulesList + ", resonCode=" + resonCode
+ ", ZzcAntifraudReport_tenantCount="
+ ZzcAntifraudReport_tenantCount
+ ", ZzcAntifraudReport_riskLevel="
+ ZzcAntifraudReport_riskLevel + ", ZzcAntifraudReport_count="
+ ZzcAntifraudReport_count + "]";
}
}package testMap.bean;
import java.util.Map;
public class AllJava {
boolean ifsuccess;
Map<String, Object> creditMap;
public boolean isIfsuccess() {
return ifsuccess;
}
public void setIfsuccess(boolean ifsuccess) {
this.ifsuccess = ifsuccess;
}
public Map<String, Object> getCreditMap() {
return creditMap;
}
public void setCreditMap(Map<String, Object> creditMap) {
this.creditMap = creditMap;
}
@Override
public String toString() {
return "AllJava [ifsuccess=" + ifsuccess + ", creditMap=" + creditMap
+ "]";
}
}发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106274.html原文链接:https://javaforall.cn
边栏推荐
- 优思学院:六西格玛不只是统计!
- Read all the knowledge points about enterprise im in one article
- 一文讲清楚什么是类型化数组、ArrayBuffer、TypedArray、DataView等概念
- [Title brushing] avoid flooding
- Dart extended feature
- DNS 解析之家庭网络接入 Public DNS 实战
- 数字化转型道阻且长,如何迈好关键的第一步
- 可觀測,才可靠:雲上自動化運維CloudOps系列沙龍 第一彈
- [Title brushing] coco, who likes bananas
- Unity animator parameter
猜你喜欢

单元测试效率优化:为什么要对程序进行测试?测试有什么好处?

Apache Doris comparison optimization Encyclopedia

深入理解.Net中的线程同步之构造模式(二)内核模式2.内核模式构造物Semaphone
![[scientific research data processing] [basic] category variable frequency analysis chart, numerical variable distribution chart and normality test (including lognormal)](/img/70/8bf226964118efb324ca4d339df654.png)
[scientific research data processing] [basic] category variable frequency analysis chart, numerical variable distribution chart and normality test (including lognormal)

Defi "where does the money come from"? A problem that most people don't understand

【刷题篇】避免洪水泛滥
![[Title brushing] coco, who likes bananas](/img/66/5646ac7e644025ccaee7c17f62ce17.png)
[Title brushing] coco, who likes bananas

Deep understanding Net (2) kernel mode 4 Summary of kernel pattern constructs

Problems in QT creator (additional unknown and error lines are listed in the debug output window)

Unity animator parameter
随机推荐
In the digital age, XDR (extended detection and response) has unlimited possibilities
Advanced usage of go language for loop break and continue
步骤详解 | 助您轻松提交 Google Play 数据安全表单
【系统分析师之路】第五章 复盘软件工程(软件过程改进)
More than 20 years after Hong Kong's return, Tupu digital twin Hong Kong Zhuhai Macao Bridge has shocked
[Title brushing] avoid flooding
Geoffreyhinton: my 50 years of in-depth study and Research on mental skills
Go language for loop multivariable use
Observable, seulement fiable: première bombe de salon de la série cloudops d'exploitation et d'entretien automatisés dans le nuage
SQL编程问题,测试用例不通过
为基础性语言摇旗呐喊
Click the TD cell of table to open the dialog pop-up window. After obtaining the value, put the value back into the TD cell
Calculates the length of the last word in a string, separated by spaces
Rpm2rpm packaging steps
Simple understanding of the difference between get request and post submission
Inexplicable error occurred in unity's frequent switching branch result model
How can I protect my private key?
Unity Animator 参数
一文讲清楚什么是类型化数组、ArrayBuffer、TypedArray、DataView等概念
There is no utf8 option for creating tables in Navicat database.