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

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2023-12-26 10:44
Next 2023-12-26 10:49

相关推荐

  • java 队列 queue

    队列简介队列(Queue)是一种线性数据结构,它遵循先进先出(First In First Out,简称FIFO)的原则,队列中的元素按照它们被添加到队列中的顺序进行排列,在队列的一端,我们称之为“前端”(Front),而在另一端,我们称之为“后端”(Rear),当一个新元素被添加到队列中时,如果队列已满,那么新元素只能添加到队列的后……

    2024-01-17
    0101
  • WPF怎么绑定多条曲线

    在Windows Presentation Foundation (WPF)中,我们可以使用数据绑定来显示和操作数据,对于多条曲线的绑定,我们可以使用Path类和DataPoint类来实现,下面将详细介绍如何在WPF中绑定多条曲线。1、创建数据模型我们需要创建一个数据模型来存储曲线的数据,这个数据模型可以是一个自定义的类,包含两个属性……

    2023-12-26
    0124
  • java中getproperty怎么使用

    在Java中,getProperty方法通常用于获取系统属性或者配置文件中的属性值,这里我们主要讨论两种场景:1、使用System.getProperty()方法获取系统属性;2、使用Properties类加载配置文件并获取属性值。1. 使用System.getProperty()获取系统属性System.getProperty()方……

    2024-02-06
    0233
  • Windows 11 更新KB5032190报告的问题包括任务栏图标消失等

    Windows 11更新KB5032190后,部分用户反映任务栏图标消失的问题,这可能是由于更新过程中出现了一些问题,导致系统设置出现错误,本文将详细介绍如何解决这个问题,并提供一个相关问题与解答的栏目,以帮助大家更好地理解和解决这个问题。我们来了解一下任务栏图标消失的原因,任务栏图标消失可能是由于系统更新过程中出现了一些错误,导致系……

    2023-12-12
    0199
  • java jsonarray怎么遍历

    JSONArray是Java中用于表示JSON数组的类,它属于org.json包,JSON数组是一种有序的值集合,可以包含不同类型的元素,如字符串、数字、布尔值、对象等,在处理JSON数据时,我们经常需要对JSON数组进行遍历操作,以便获取其中的数据,1、使用for循环遍历。String jsonStr = "[{\"name\":\"张三\",\"age\":18},{\"name\":\"

    2024-01-25
    0250
  • Java中System.currentTimeMillis的作用是什么

    Java中System.currentTimeMillis()的作用是什么在Java编程语言中,System.currentTimeMillis()是一个常用的方法,用于获取当前时间的毫秒数,它返回一个long类型的值,表示从1970年1月1日午夜(UTC)开始到现在的毫秒数,这个方法在很多场景下都非常有用,比如计算程序运行时间、生成……

    2024-01-22
    0215

发表回复

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

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