JAVA 两种不同的JSONObject

1、com.alibaba.fastjson.JSONObject;
字符串格式:
Ⅰ、
“{
“myuser”: {
“username”: “myuser”,
“roles”: [
“superuser”,
“other_role1”
],
“full_name”: “myuser”,
“email”: null,
“metadata”: {},
“enabled”: true
}
}”
解析方式:

public static Map<String, Object> getJsonToMap(String json) {
		JSONObject jsonObject = JSONObject.parseObject(json);
		Map<String, Object> valueMap = new HashMap<>();
		valueMap.putAll(jsonObject);
		return valueMap;
	}

Ⅱ、
“[
{
“id”: “iFix”,
“pid”: “2808”,
“ip”: “192.168.197.128”,
“port”: “9300”,
“http”: “192.168.197.128:9200”,
“diskTotal”: “56.7gb”,
“diskUsed”: “33.2gb”,
“diskAvail”: “23.4gb”,
“diskUsedPercent”: “58.62”,
“heapCurrent”: “457.4mb”,
“heapPercent”: “45”,
“heapMax”: “1007.3mb”,
“ramCurrent”: “4.6gb”,
“ramPercent”: “60”,
“ramMax”: “7.6gb”,
“cpu”: “6”,
“load_1m”: “0.30”,
“load_5m”: “0.26”,
“load_15m”: “0.10”,
“uptime”: “1d”,
“nodeRole”: “mdi”,
“master”: “*”,
“name”: “192.168.197.128”,
“queryCacheMemory”: “419.4kb”,
“requestCacheMemory”: “3.9mb”,
“requestCacheHitCount”: “102845”,
“requestCacheMissCount”: “11354”,
“indexingDeleteCurrent”: “0”,
“indexingDeleteTime”: “577ms”,
“indexingDeleteTotal”: “7850”,
“indexingIndexCurrent”: “0”,
“indexingIndexTime”: “4.1m”,
“indexingIndexTotal”: “3496461”,
“indexingIndexFailed”: “0”
}
]”
解析方式:

List<MasterNode> mm = JSONObject.parseArray(ss, MasterNode.class);	

2、net.sf.json.JSONObject
//将list 的实体对象的字符串解析回实体对象

public  List<Object> getJsonToList(String json, Class<T> clazz) {
		//把String转换为json
		List<Object> ob = new ArrayList<>();
		JSONArray jsonArray = JSONArray.fromObject(json);
		Collection collection = JSONArray.toCollection(jsonArray,clazz);
		if (null != collection && !collection.isEmpty()) {
			Iterator it = collection.iterator();
			while (it.hasNext()) {
				ob.add(it.next());
			}
		}
		return ob;
	}

POM:

<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.47</version>
        </dependency>
<!-- json jar包 -->
<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
</dependency>
Java 中的 JsonObject一个由键值对组成的无序集合,它是由 JsonElement 表示的一种特殊对象(JsonElement 中还包含 JsonArray、JsonPrimitive 等类型)。JsonObject 可以通过键来访问其对应的值。 以下是一个简单的 Java JsonObject 示例: ```java import com.google.gson.JsonObject; import com.google.gson.JsonParser; public class JsonObjectExample { public static void main(String[] args) { String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; JsonParser parser = new JsonParser(); JsonObject jsonObject = (JsonObject) parser.parse(jsonString); System.out.println(jsonObject.get("name")); System.out.println(jsonObject.get("age")); System.out.println(jsonObject.get("city")); } } ``` 输出结果为: ``` "John" 30 "New York" ``` 在上面的示例中,我们首先将一个 JSON 字符串解析为 JsonObject 对象,然后通过键来访问其对应的值。 我们可以通过以下方式向 JsonObject 中添加键值对: ```java JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("name", "John"); jsonObject.addProperty("age", 30); jsonObject.addProperty("city", "New York"); ``` 这将创建一个包含三个键值对的 JsonObject 对象。我们可以使用 addProperty() 方法来添加属性,该方法接受两个参数,第一个参数是属性名,第二个参数是属性值。 除了 addProperty() 方法外,JsonObject 还提供了一些其他的方法来添加属性,比如 add() 方法、addPropertyIfAbsent() 方法等等。如果想了解更多关于 JsonObject 的使用方法,可以查看官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一介布衣+

做好事,当好人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值