org.json.JSONObject对象转json,json新增元素,根据json的key获取值。以及list对象格式字符串转jsonArray

org.json.JSONObject对象转json,json新增元素,根据json的key获取值。以及list对象格式字符串转jsonArray

首先设置好多类,并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.net/106274.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring官方文档 中文_Spring软件

    spring官方文档 中文_Spring软件本文档是对spring官方文档的解读,原文档参见Spring官方文档,本人只是翻译和整理,由于水平有限,部分解读可能不正确,欢迎提出更好的意见和建议或者与我一起完成本次挑战!网页版移步我的临时网页Git传送门1Spring综述1.1jdk环境依赖从SpringFramework5.1开始,Spring需要JDK8+(JavaSE8+),并提供对JDK11LTS的开箱…

    2022年10月20日
    0
  • [GBA ROM列表]不断补完中……

    [GBA ROM列表]不断补完中……出处:http://www.ezflash.cn/vbb/showthread.php?s=3a42901b8c2aacb56a02e61f690b8a05&threadid=14&perpage=15&pagenumber=10001-F-Zero(J)(最高时速)(J)RCG320002-SuperMarioAdvance(J)(超级马里奥A)(J)ACT32000

    2022年7月11日
    74
  • 51单片机IIC通信协议

    51单片机IIC通信协议/*——————————————————————————*@fileI2C.H*@authorByron(from3900@gmail.com)*@versionV1.0.0*@date05/12/2020*@brief51系列单片机I2C通信协议头文件*——————————————-

    2022年6月5日
    38
  • Microsoft Visio Pro 2016产品密钥激活成功教程完整免费下载「建议收藏」

    Microsoft Visio Pro 2016产品密钥激活成功教程完整免费下载「建议收藏」https://blog.csdn.net/jingxiansheng/article/details/75805699

    2022年8月13日
    3
  • html css制作404页面,一款纯css3实现的漂亮的404页面

    html css制作404页面,一款纯css3实现的漂亮的404页面实现的代码。html代码:404ERRORLost?MaybeIcanhelp.required/>SearchMySuggestions.HomePortfoliocss3代码:body{background-color:#0A7189;color:#fff;font:100%”Lato”,sans-serif;font-size:1.8r…

    2022年7月27日
    1
  • 不止编码,还要好好生活和思考[通俗易懂]

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!2019年4月最后一天,不写技术,谈谈我的乐园,我喜欢的一首诗,分享给你!面朝大海,春暖花开[作者] 海子从明天起,做一个幸福的人喂马,劈柴,周游世界从明天起,关心粮食和蔬菜我有一所房子,面朝大海,春暖花开从明天起,和每一个亲人通信告诉他们我的幸福那幸福的闪电告诉我的我将告诉每一个人给每一条河…

    2022年3月1日
    41

发表回复

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

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