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


相关推荐

  • vuex的五大核心_vue的核心是什么

    vuex的五大核心_vue的核心是什么Vuex的核心概念Vuex有5个核心概念,分别是State,Getters,mutations,Actions,Modules。StateVuex使用单一状态树,也就是说,用一个对象包含了所有应

    2022年7月31日
    6
  • 一步一步来:MQTT服务器搭建、MQTT客户端使用

    一步一步来:MQTT服务器搭建、MQTT客户端使用物联网应用如火如荼,本文就物联网应用中最受青睐的协议MQTT相关测试工具的使用进行简单说明。希望此文能给需要用到的朋友一些微薄的帮助……一、MQTT服务器(emqx)搭建1.下载服务器MQTTBroker从https://www.emqx.io/cn/mqtt/public-mqtt5-broker下载MQTTBroker。这里我使用的windows系统,下载对应版本工具:emqx-windows-v4.1-rc.2.zip下载好后,解压目…

    2022年6月5日
    44
  • 面向对象初接触

    面向过程和面向对象的概念解耦的理解序言在写今天的内容之前先说叨几句,其实在python这门编程语言中的所有内容可以归结为俩种类型:一种是面向过程编程另一种是面向对象编程那么问题来了,之前听有些

    2022年3月29日
    44
  • vue组件系列1、弹窗

    vue组件系列1、弹窗

    2021年7月2日
    110
  • 旅游管理系统项目java设计_基于JSP的旅游管理系统设计与实现(MyEclipse,SQL)

    旅游管理系统项目java设计_基于JSP的旅游管理系统设计与实现(MyEclipse,SQL)基于的旅游管理系统设计与实现(MyEclipse,SQL)(任务书,外文翻译,毕业论文12000字,程序代码,SQL2012数据库,答辩PPT)摘要随着科技的迅速发展,计算机技术已应用到社会的各个领域。随着计算机技术和通信技术的迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其商业用途,在网络上进行出售、收购、宣传等操作,从而使得网络越来越成为现今社会上必不可…

    2022年6月4日
    37
  • Apache POI使用详解[通俗易懂]

    Apache POI使用详解[通俗易懂]一:简介开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中,操作Excel目前有两个框架,一个是apache的poi,另一个是JavaExcelApachePOI简介是用Java编写的免费开源的跨平台的JavaAPI,ApachePOI提供API给Java程式对MicrosoftOffice(Excel、WORD、PowerPoint、Visio等

    2022年6月28日
    36

发表回复

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

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