gpt4 book ai didi

java - 如何使用纯 Java 代码读取 JSON 字符串(不使用任何 Jar 文件)

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

在Java中,有很多方法可以读取JSON字符串,但我正在寻找的是不使用任何Jar文件,是否有任何方法可以使用核心Java函数或编写的脚本来读取JSON纯字符串。

例如,返回带有两个参数的键值的方法1 - JSON 字符串2 - 我们需要查找并返回值的 key 或 JSON 定位器(例如 accountname.id)

我编写了一段代码,可以解决我的问题,但不完全

public static String GetJSONValue(String JSONString, String Field)
{
return JSONString.substring(JSONString.indexOf(Field), JSONString.indexOf("\n", JSONString.indexOf(Field))).replace(Field+"\": \"", "").replace("\"", "").replace(",","");
}

上面的代码有很多限制...而且它应该覆盖 JSON 数组并支持 JSON 定位器?

最佳答案

如果你坚定不移地决定不使用 jar 库来解析 JSON,那么你将需要编写某种解析器。这可能需要大量工作。然而,有解析器形式的在线解决方案(例如 Antlr 或 javacc 等)。大多数(但不是全部)解析器需要 Jar 库与您的应用程序一起分发。 Javacc 则不然。

javacc 是一个代码生成器(即它生成 java 代码),可以(从源文件)编译到您的应用程序中。 Javacc 获取一个语法文件并从该语法文件生成相应的 java 代码。然后,您可以按照正常方式编译您的应用程序以及生成的 java 文件。

您可以在此处获取 javacc(它下载 jar 文件,但这些文件不构成您应用程序的一部分),并且可以配置为从命令行运行或作为 IDE 中的插件运行:

https://javacc.org/

一些 JSON 语法可以在这里找到:

https://github.com/RobertFischer/json-parser/tree/master/src/main/javacc/com/smokejumperit/json/parser

和/或

https://github.com/mwnorman/JSONParser/tree/master/src/org/mwnorman/json

您想要的文件具有扩展名 *.jj(和 *.jjt)。第二个语法示例显示了生成的源的类型。

关于java - 如何使用纯 Java 代码读取 JSON 字符串(不使用任何 Jar 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55889003/

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