java json字符串解析 fastjson
时间: 2023-08-12 17:39:11 浏览: 55
使用Fastjson库解析JSON字符串同样很简单。以下是使用Fastjson库解析JSON字符串的示例代码:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class JsonParser {
public static void main(String[] args) {
String json = "{\"name\":\"Tom\",\"age\":20}";
JSONObject obj = JSON.parseObject(json);
String name = obj.getString("name");
int age = obj.getIntValue("age");
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
```
解析结果同样为:
```
Name: Tom
Age: 20
```
其中,使用`JSON`类的`parseObject`方法解析JSON字符串,得到一个`JSONObject`对象,然后通过`getString`方法获取对应的字符串属性值,`getIntValue`方法获取对应的整数属性值。
相关问题
java json字符串解析
Java中可以使用JSON库来解析JSON字符串。常用的JSON库包括:
1. Jackson:速度快,功能强大,支持注解方式配置,使用广泛。
2. Gson:Google开发的JSON库,使用简单方便,支持对象和JSON互转。
3. Fastjson:阿里巴巴开发的JSON库,速度快,支持注解方式配置,使用广泛。
以下是使用Jackson库解析JSON字符串的示例代码:
```java
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonParser {
public static void main(String[] args) throws Exception {
String json = "{\"name\":\"Tom\",\"age\":20}";
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(json);
String name = node.get("name").asText();
int age = node.get("age").asInt();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
```
解析结果为:
```
Name: Tom
Age: 20
```
其中,使用`ObjectMapper`类解析JSON字符串,得到一个`JsonNode`对象,然后通过`get`方法获取对应的属性值。`asText`方法可以将属性值转为字符串类型,`asInt`方法可以将属性值转为整数类型。
java fastjson解析json数组字符串
Java Fastjson是一个高性能的JSON解析库,它提供了简洁而灵活的API,方便我们解析JSON数组字符串。
使用Fastjson解析JSON数组字符串的方法如下:
首先,我们需要导入Fastjson库,可以从官方网站下载Fastjson的JAR文件,然后将其添加到项目的依赖中。
接下来,我们可以使用Fastjson提供的API来解析JSON数组字符串。我们可以通过`JSONArray.parseArray()`方法将JSON数组字符串解析为一个Java List对象,代码示例如下:
```java
import com.alibaba.fastjson.JSONArray;
public class JsonArrayParser {
public static void main(String[] args) {
String jsonArrayStr = "[{\"name\":\"张三\",\"age\":18},{\"name\":\"李四\",\"age\":20}]";
// 解析JSON数组字符串
JSONArray jsonArray = JSONArray.parseArray(jsonArrayStr);
// 遍历数组元素
for (Object obj : jsonArray) {
// 获取每个JSON对象的属性值
String name = ((JSONObject) obj).getString("name");
int age = ((JSONObject) obj).getIntValue("age");
// 打印结果
System.out.println("姓名:" + name + ",年龄:" + age);
}
}
}
```
在上述代码中,我们首先定义了一个JSON数组字符串`jsonArrayStr`,然后使用`JSONArray.parseArray()`方法将其解析为一个JSONArray对象。
接下来,我们可以使用`for`循环遍历JSONArray中的每个元素。通过强制类型转换将每个元素转换为JSONObject,然后通过`.getString()`和`.getIntValue()`方法获取每个JSON对象的属性值。
最后,我们可以对获取的属性值进行适当的处理,如打印输出,存入数据库等。
总结来说,使用Fastjson解析JSON数组字符串主要是借助`JSONArray.parseArray()`方法将JSON数组字符串解析为JSONArray对象,然后通过遍历JSONArray获取每个JSON对象的属性值进行相应的处理。