给定一个字符串,获取该字符串的最后一个json子串,java
时间: 2024-01-21 10:05:06 浏览: 81
好的,以下是一个获取字符串中最后一个 JSON 子串的 Java 代码:
```java
import org.json.JSONObject;
import org.json.JSONException;
public class Main {
public static void main(String[] args) {
String str = "some text {\"name\": \"John\", \"age\": 30} some text {\"name\": \"Jane\", \"age\": 25}";
String lastJsonStr = null;
// 从字符串的末尾开始查找最后一个 '{' 的位置
int lastOpenBraceIndex = str.lastIndexOf('{');
// 如果找到了 '{',则获取从该位置开始到字符串末尾的子串
if (lastOpenBraceIndex != -1) {
String lastSubStr = str.substring(lastOpenBraceIndex);
try {
// 尝试将子串解析为 JSON 对象
JSONObject lastJsonObj = new JSONObject(lastSubStr);
// 如果解析成功,则说明该子串是 JSON 对象,将其赋值给 lastJsonStr
lastJsonStr = lastJsonObj.toString();
} catch (JSONException e) {
// 如果解析失败,则说明该子串不是 JSON 对象,将 lastJsonStr 设置为 null
lastJsonStr = null;
}
}
System.out.println(lastJsonStr);
}
}
```
在这个示例中,我使用了 JSON 库中的 JSONObject 类来解析 JSON 对象。如果解析失败,我将 lastJsonStr 设置为 null。
阅读全文