gpt4 book ai didi

java - 如何从 json 获取某些值(转换为文本)

转载 作者:行者123 更新时间:2023-12-02 11:26:37 26 4
gpt4 key购买 nike

我得到了字符串格式的 json,我想从中获取某些值,我不想使用 JSONObject 和相关的 org.json 实现,这就是我正在尝试的:

String  text=execution.getVariable("documents").toString();
String finalResult=text.substring( text.indexOf(":")+1,text.length());
String Final2=finalResult.replaceAll("=", ":");
String Fin3=Final2.replace("[","");
String Fin4=Fin3.replace("]", "");
System.out.println(Fin4);
System.out.println(Fin4.substring(Fin4.indexOf("id"),Fin4.indexOf(",")));

这是我的 json(格式化为字符串)输入示例:

[{id:1,"name":"olovia","age":34}];

我想从这个字符串中获取所有这些(id、name、age)值,如果没有子字符串,我应该如何做?

最佳答案

您确实应该重新考虑在您的用例中使用 json 解析器。

但是如果您确实想手动执行此操作,则应该使用正则表达式而不是子字符串:

 @Test
public void should_find_key() throws Exception {
String input = "[{id:1,\"name\":\"olovia\",\"age\":34}]";
Assertions.assertThat(extract("name", input)).isEqualTo("olovia");
}

private String extract(String key, String input) {
Pattern pattern = Pattern.compile("\"" + key + "\":\"(.*?)\"");
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return matcher.group(1);
}
return null;
}

关于java - 如何从 json 获取某些值(转换为文本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49575343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com