005_JSONArray对象静态方法

1. JSONArray.fromObject静态方法

1.1. static JSONArray fromObject(Object object)静态方法, 把Java对象转换为JSONArray对象。json-lib底层, 会创建一个JsonConfig对象使用。

1.2. static JSONArray fromObject(Object object, JsonConfig jsonConfig)静态方法, 把Java对象转换为JSONArray对象。并指定一个JsonConfig。

1.3. 编写一个名叫JSONArrayStaticMethod的Java项目, 同时添加相关jar包。

1.4. 新建Sensor.java

package com.fj.ja;

import java.io.Serializable;

/**
 * 传感器
 */
public class Sensor implements Serializable {
	private static final long serialVersionUID = 1L;
	
	private Boolean weightSensor; // 重力传感器
	private Boolean fingerSensor; // 指纹传感器
	private String otherSensor; // 其它传感器
	
	public Sensor() {}

	public Sensor(Boolean weightSensor, Boolean fingerSensor, String otherSensor) {
		this.weightSensor = weightSensor;
		this.fingerSensor = fingerSensor;
		this.otherSensor = otherSensor;
	}

	public Boolean getWeightSensor() {
		return weightSensor;
	}

	public void setWeightSensor(Boolean weightSensor) {
		this.weightSensor = weightSensor;
	}

	public Boolean getFingerSensor() {
		return fingerSensor;
	}

	public void setFingerSensor(Boolean fingerSensor) {
		this.fingerSensor = fingerSensor;
	}

	public String getOtherSensor() {
		return otherSensor;
	}

	public void setOtherSensor(String otherSensor) {
		this.otherSensor = otherSensor;
	}

	@Override
	public String toString() {
		return "{weightSensor=" + weightSensor + ", fingerSensor=" + fingerSensor + ", otherSensor=" + otherSensor + "}";
	}
}

1.5. 新建JSONArrayStaticFromObject.java

package com.fj.ja;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;

/**
 * JSONArray
 * 1. static JSONArray fromObject(Object object)静态方法, 把Java对象转换为JSONArray对象。json-lib底层, 会创建一个JsonConfig对象使用。
 * 2. static JSONArray fromObject(Object object, JsonConfig jsonConfig)静态方法, 把Java对象转换为JSONArray对象。并指定一个JsonConfig。
 */
public class JSONArrayStaticFromObject {
	public static void main(String[] args) {
		// 数组
		String[] mobileColor = {"亮黑色", "冰霜银", "零度白", "深海蓝", "晨曦金"};
		// 集合
		List<String> isp = new ArrayList<String>(); // ISP网络服务提供商
		isp.add("移动");
		isp.add("联通");
		isp.add("电信");
		// Map
		Map<String, String> mainParam = new HashMap<String, String>();
		mainParam.put("runtimeMemory", "8GB");
		mainParam.put("mobileMemory", "128GB");
		mainParam.put("CPUType", "HUAWEI Kirin 990 5G(麒麟990 5G)");
		mainParam.put("CPUCount", "八核");
		// Java Bean
		Sensor sensor = new Sensor();
		sensor.setWeightSensor(true);
		sensor.setFingerSensor(true);
		sensor.setOtherSensor("姿态感应器、色温传感器");
		// Java Bean集合
		List<Sensor> beanList = new ArrayList<Sensor>();
		beanList.add(new Sensor(false, true, "姿态感应器、色温传感器"));
		beanList.add(new Sensor(true, false, "姿态感应器、色温传感器"));
		beanList.add(new Sensor(false, false, "姿态感应器、色温传感器"));
		
		String jsonArrayStr = "[\"华为P40 Pro\",true,5988,2601010188703,6.58,[\"亮黑色\",\"冰霜银\",\"零度白\",\"深海蓝\",\"晨曦金\"],[\"移动\",\"联通\",\"电信\"],{\"mobileMemory\":\"128GB\",\"CPUCount\":\"八核\",\"CPUType\":\"HUAWEI Kirin 990 5G(麒麟990 5G)\",\"runtimeMemory\":\"8GB\"},{\"otherSensor\":\"姿态感应器、色温传感器\",\"weightSensor\":true,\"fingerSensor\":true},{\"5G\":\"移动5G(NR)/联通5G(NR)/电信5G(NR)\",\"4G\":\"移动/联通/电信4G主副卡 支持 TD-LTE/LTE FDD\",\"3G\":\"主卡: 联通3G(WCDMA)/电信3G(CDMA 2000); 副卡: 联通3G(WCDMA)\",\"2G\":\"主卡: 移动2G(GSM)/联通2G(GSM)/电信2G(CDMA 1X); 副卡: 移动2G(GSM)/联通2G(GSM)/电信2G(CDMA 1X)\"},[\"NFC\",\"WLAN\"]]";
		
		System.out.println(JSONArray.fromObject(mobileColor)); // 把数组转换为JSONArray对象
		System.out.println(JSONArray.fromObject(isp, new JsonConfig())); // 把集合转换为JSONArray对象
		System.out.println(JSONArray.fromObject(mainParam)); // 把Map转换为JSONArray对象
		System.out.println(JSONArray.fromObject(sensor)); // 把Java Bean转换为JSONArray对象
		System.out.println(JSONArray.fromObject(beanList)); // 把Java Bean集合转换为JSONArray对象
		System.out.println(JSONArray.fromObject(jsonArrayStr)); // 把JSON Array String对象转换为JSONArray对象
	}
}

1.6. 运行JSONArrayStaticFromObject.java

2. JSONArray.toList静态方法

2.1. static List toList(JSONArray jsonArray, Object root, JsonConfig jsonConfig)静态方法, 从JSONArray创建一个集合。

2.2. 第二个参数传入对象, 如果jsonArray里有JSON对象数据的话, 根据对象的类创建新对象, 封装数据到新对象里。

2.3. 第三个参数传入一个JSONConfig对象, JSONConfig可以设置一个ClassMap, 倘若JSON对象里还有JSON对象, 可以根据ClassMap来进行键和值的类型匹配。

2.4. 新建JSONArrayStaticToList.java(toList静态方法, 第二个参数传入HashMap对象)

package com.fj.ja;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONNull;
import net.sf.json.JsonConfig;

/**
 * JSONArray
 * 1. JSONArray.toList(JSONArray jsonArray, Object root, JsonConfig jsonConfig)静态方法, 从JSONArray创建一个集合。
 * 2. 第二个参数传入对象, 如果jsonArray里有JSON对象数据的话, 根据对象的类创建新对象, 封装数据到新对象里。
 * 3. 第三个参数传入一个JSONConfig对象, JSONConfig可以设置一个ClassMap, 倘若JSON对象里还有JSON对象, 可以根据ClassMap来进行键和值的类型匹配。
 */
public class JSONArrayStaticToList {
	public static void main(String[] args) {
		// 数组
		String[] mobileColor = {"亮黑色", "冰霜银", "零度白", "深海蓝", "晨曦金"};
		// 集合
		List<String> isp = new ArrayList<String>(); // ISP网络服务提供商
		isp.add("移动");
		isp.add("联通");
		isp.add("电信");
		// Java Bean
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值