jsonObject.getString(String key)
方法用于从 JSONObject
中获取与指定键关联的值,并将其作为字符串返回。如果该键不存在或对应的值不是字符串,可能会抛出异常。
示例:使用 getString
假设有一个 JSONObject
对象如下:
import com.alibaba.fastjson.JSONObject;
public class Main {
public static void main(String[] args) {
// 创建一个 JSONObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "Dave");
jsonObject.put("age", 35);
jsonObject.put("isStudent", false);
// 获取字符串值
String name = jsonObject.getString("name");
System.out.println("Name: " + name);
String age = jsonObject.getString("age"); // 这里返回的将是 "35" 的字符串形式
System.out.println("Age as String: " + age);
}
}
如何获取不知道类型的值?
如果你不确定某个键的值是什么类型,fastjson
提供了一些其他方法来获取值,你可以使用如下方法:
get(Object key)
:这个方法可以获取任意类型的值。返回值是Object
类型,你可以根据需要进行类型判断和转换。- 类型判断:在获取值后,可以使用
instanceof
关键字检查具体类型。
示例:使用 get
方法
以下是一个示例,展示如何使用 get(Object key)
获取值,并进行类型判断:
import com.alibaba.fastjson.JSONObject;
public class Main {
public static void main(String[] args) {
// 创建一个 JSONObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "Eva");
jsonObject.put("age", 30);
jsonObject.put("height", 1.65);
jsonObject.put("isStudent", true);
// 假设我们不知道 "height" 的类型
Object height = jsonObject.get("height");
// 类型判断
if (height instanceof Number) {
System.out.println("Height as Number: " + height);
} else if (height instanceof String) {
System.out.println("Height as String: " + height);
} else {
System.out.println("Height is of unknown type: " + height.getClass().getName());
}
}
}
在这个例子中,我们使用 get()
方法获取 height
的值,然后使用 instanceof
来检查其类型,从而知道如何处理它。
总结
getString(String key)
用于获取字符串类型的值。- 若不确定值的类型,使用
get(Object key)
方法,并结合类型判断进行处理。