草庐IT

java - 与 Java 捆绑在一起的标准 JSON 解析器

这个问题在这里已经有了答案:isitpossibletoproccessJSONresponseswiththeJDKorHttpComponentsonly?(3个答案)关闭8年前。我需要能够从文件中读取JSON字符串并对其进行解析。我想知道该字符串是否是“格式正确”的JSON。如果是这样,我需要能够读取所有名称值对。是否有Java本身捆绑的JSON库?我更喜欢标准Java发行版附带的东西,而不是下载另一个外部库。我正在使用JDK1.6。

java - 是否可以同时使用 TextStyle.SHORT 和 TextStyle.FULL 解析当月的日期?

Java8DateTimeFormatter从类似d的模式创建。MMMu只能解析以TextStyle.SHORT(例如13.Feb2015)定义的样式书写的月份日期,这是一个从d创建的DateTimeFormatter。MMMMu只能解析以TextStyle.FULL定义的样式书写的带有月份的日期(例如13.February2015)。在“旧”的SimpleDateFormat中,“MMM”和“MMMM”之间的区别只对格式化很重要,对解析不重要,因此很容易创建一个解析器来理解月份的完整和简短形式名字。是否可以创建一个也可以执行此操作的Java8DateTimeFormatter?或者我

java - 将字符串转换为数学表达式?

这个问题在这里已经有了答案:What'sagoodlibraryforparsingmathematicalexpressionsinjava?[closed](5个答案)Isthereaneval()functioninJava?(14个答案)关闭9年前。假设我有一个以这种方式声明的方法:publicdoubleCalc(Stringexpression){//Code}我想要一个字符串表达式"2+4-(3*4)"然后将它提供给Calc(),它应该返回它获得的值。你能否从字符串中解析出数学表达式,使其成为Java可以理解的表达式?因为通常你可以写return2+4-(3*4);但这只

java - 解析维基媒体标记——基于 EBNF 的解析器不适合吗?

我正在尝试解析(在Java中)维基百科上的维基媒体标记。有许多现有的包可以完成这项任务,但我还没有找到特别适合我需要的包。我用过的最好的包是MathclipseBlikiparser,它在大多数页面上都做得不错。然而,这个解析器是不完整的,无法解析某些页面或在其他页面上解析不正确。遗憾的是,代码相当困惑,因此修复此解析引擎中的问题非常耗时且容易出错。为了寻找更好的解析引擎,我调查了使用基于EBNF的解析器来完成此任务(特别是ANTLR)。然而,经过一些尝试后,这种方法似乎并不特别适合这项任务,因为维基媒体标记相对宽松,因此不容易适应结构化语法。然而,我在ANTLR和类似解析器方面的经验

java - 是否有 GSP(通用 SQL 解析器)的替代品?

GeneralSQLParser(GSP)是一个功能非常丰富的SQL解析器(就我使用它的程度而言),它允许通过更改解析树本身以稳健的方式修改SQL语句。此外,它还支持大多数流行数据库的SQL风格。然而,GSP的一大缺点是它的文档非常糟糕,简直太可怕了:javadoc主要由原始方法和属性名称组成(几乎没有注释),实际上没有概述核心功能和含义的文档最重要的属性和方法;并且他们似乎刚刚将所有内容公开为公共(public)成员,使得API很难通过查看来掌握。唯一的文档是一堆实际示例,您必须从中自行对API调用的含义进行逆向工程。我不喜欢使用这样的库来生产关键软件。因此,由于上述原因,我更愿意使

java - 使用流/对象方法将 JSON 解析为 Jackson

我有一个可以有多种类型的JSON文件。例如:{"dog":{"owner":"JohnSmith","name":"Rex","toys":{"chewtoy":"5","bone":"1"}},"person":{"name":"JohnDoe","address":"23SomewhereLane"}//Furtherexamplesofdogsandpeople,andafewothertypes.}我想将这些解析为对象。IE。我想创建一个具有owner/name/toys属性的Dog对象,以及具有name/address属性的person,然后使用Jackson读取并从中创建对

java - 如何有效地从文件中解析串联的 XML 文档

我有一个由串联的有效XML文档组成的文件。我想有效地分离单个XML文档。串联文件的内容如下所示,因此串联文件本身不是有效的XML文档。.........每个单独的XML文档大约1-4KB,但可能有几百个。所有XML文档都对应于相同的XML模式。有什么建议或工具吗?我在Java环境中工作。编辑:我不确定xml声明是否会出现在文档中。编辑:假设所有xml文档的编码都是UTF-8。 最佳答案 不要split!在它周围添加一个大标签!然后又变成了一个XML文件:.........现在,使用/BIGTAG/SomeData将为您提供所有XML

java - 在java中解析字段访问标志

我有一项作业,其中我必须解析java.class文件的字段访问标志。.class文件的规范可以在这里找到:ClassFileFormat(第26和27页有访问标志和十六进制值)。这很好,我可以做到这一点,不用担心。我的问题是存在大量组合。我知道public、private和protected是相互排斥的,这在一定程度上减少了组合。final和transient也是互斥的。然而其余的不是。目前,我有一个大型switch语句来进行比较。我读入访问标志的十六进制值,然后递增一个计数器,具体取决于它是公共(public)的、私有(private)的还是protected。这工作正常,但将每个组

关于cJSON库,cJSON_Parse()函数——josn格式校验问题

先了解一下cJSON_Parse(),函数原型如下CJSON_PUBLIC(cJSON*)cJSON_Parse(constchar*value);函数作用:将一个符合json数据结构的字符串转换为cJSON结构体。参数:        value:输入的字符串        返回值:如果解析正常,返回一个指向整个object的指针;如果解析失败,则返回NULL。注意:cJSON_Parse()函数会在堆区开辟空间,因此使用完后要及时调用cJSON_Delete释放内存,防止内存泄漏问题上代码#include#include"cJSON.h"intmain(intargc,charconst*

java - 使用 Java 的递归表达式求值器

我打算写一个只做加法和减法的表达式求值器。我有一个简单的算法来做到这一点;但是,我有一些实现问题。我认为表达式是(它是一个字符串)"("")"这是我的算法Stringevaluate(Stringexpression)ifexpressionisdigitreturnexpressionelseifexpressionis"("")"cutthebracketsoutofitexpression1=evaluate()operator=expression2=evaluate()ifoperatoris+expression1+expression2elseifoperatoris-e