gpt4 book ai didi

Java 内置 JSON 解析器

转载 作者:行者123 更新时间:2023-12-02 01:51:01 29 4
gpt4 key购买 nike

我一直在执行一项任务,需要发出请求并获取 JSON 中特定键的值。由于一些限制/复杂性,我假设仅使用内置的 Java 库。

为了发出请求,我使用 HttpURLConnection但对于解析 JSON 我找不到。您能给我指出内置 JSON 解析器中的 Java 吗?

我发现类似的问题here但这没有令人满意的答案,而且相当旧,因此再次询问,以防万一,最新版本的 Java 提供了此功能。

最佳答案

没有。

您可以使用内置的 Nashorn 引擎来评估 Java 8 中的 Javascript

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Map;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class JSONParsingTest {

private ScriptEngine engine;

@Before
public void initEngine() {
ScriptEngineManager sem = new ScriptEngineManager();
this.engine = sem.getEngineByName("javascript");
}

@Test
public void parseJson() throws IOException, ScriptException {
String json = new String(Files.readAllBytes(/*path*/);
String script = "Java.asJSONCompatible(" + json + ")";
Object result = this.engine.eval(script);
assertThat(result, instanceOf(Map.class));
Map contents = (Map) result;
contents.forEach((t, u) -> {
//key-value pairs
});
}
}

来源:Converting JSON To Map With Java 8 Without Dependencies

更新:Nashorn 已从 Java 15 中删除

关于Java 内置 JSON 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59820087/

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