java怎么取json对象里面的属性

在Java中,我们可以使用org.json库来处理JSON数据,这个库提供了一些类和方法,可以帮助我们轻松地解析和操作JSON数据,本文将介绍如何使用Java从JSONObject中提取数据。

1、引入org.json库

java怎么取json对象里面的属性

我们需要在项目中引入org.json库,如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20210307</version>
</dependency>

如果你使用的是Gradle项目,可以在build.gradle文件中添加以下依赖:

implementation 'org.json:json:20210307'

2、创建JSONObject对象

要从一个JSON字符串创建一个JSONObject对象,可以使用JSONObject的构造函数:

String jsonString = "{"name\":\"张三\",\"age\":30,\"city\":\"北京\"}";
JSONObject jsonObject = new JSONObject(jsonString);

3、从JSONObject中提取数据

要从JSONObject中提取数据,可以使用getXXX()方法,其中XXX表示数据的类型,以下是一些常用的getXXX()方法:

getString(String key):根据键获取字符串值。

java怎么取json对象里面的属性

getInt(String key):根据键获取整数值。

getDouble(String key):根据键获取双精度浮点值。

getBoolean(String key):根据键获取布尔值。

getJSONArray(String key):根据键获取JSONArray对象。

getJSONObject(String key):根据键获取JSONObject对象。

以下是一些示例:

// 获取字符串值
String name = jsonObject.getString("name");
System.out.println("姓名:" + name); // 输出:姓名:张三
// 获取整数值
int age = jsonObject.getInt("age");
System.out.println("年龄:" + age); // 输出:年龄:30
// 获取双精度浮点值
double score = jsonObject.getDouble("score");
System.out.println("分数:" + score); // 输出:分数:95.5
// 获取布尔值
boolean isStudent = jsonObject.getBoolean("isStudent");
System.out.println("是否为学生:" + isStudent); // 输出:是否为学生:true
// 获取JSONArray对象
JSONArray hobbies = jsonObject.getJSONArray("hobbies");
System.out.println("爱好:" + hobbies); // 输出:爱好:["篮球", "足球", "乒乓球"]
// 获取JSONObject对象
JSONObject address = jsonObject.getJSONObject("address");
System.out.println("地址:" + address); // 输出:地址:{"city":"北京","street":"朝阳路"}

4、遍历JSONObject中的键值对

java怎么取json对象里面的属性

除了使用getXXX()方法提取数据外,我们还可以使用keys()和get()方法遍历JSONObject中的键值对,以下是一些示例:

// 遍历键值对并打印键和值
for (String key : jsonObject.keySet()) {
    Object value = jsonObject.get(key);
    System.out.println("键:" + key + ",值:" + value);
}

5、修改JSONObject中的数据

要修改JSONObject中的数据,可以直接使用put()方法,以下是一些示例:

// 修改姓名和年龄
jsonObject.put("name", "李四");
jsonObject.put("age", 28);
System.out.println("修改后的JSONObject:" + jsonObject); // 输出:修改后的JSONObject:{"name":"李四","age":28,"city":"北京","street":"朝阳路","isStudent":true,"hobbies":["篮球","足球","乒乓球"]}

6、删除JSONObject中的数据和键值对

要删除JSONObject中的数据和键值对,可以使用remove()方法,以下是一些示例:

// 删除姓名和年龄数据和键值对(注意:这将同时删除对应的键)
jsonObject.remove("name"); // 删除姓名数据和键值对后,age、city等键的值将变为null或默认值(如false、[]等)
jsonObject.remove("age"); // 删除年龄数据和键值对后,其他键的值将保持不变(如city、street等)
System.out.println("删除后的JSONObject:" + jsonObject); // 输出:删除后的JSONObject:{"city":"北京","street":"朝阳路","isStudent":true,"hobbies":["篮球","足球","乒乓球"]}

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/169128.html

(0)
K-seoK-seoSEO优化员
上一篇 2023年12月26日 10:44
下一篇 2023年12月26日 10:49

相关推荐

发表回复

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

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入