当前位置: 首页 > 知识库问答 >
问题:

JSON解析器-java.lang.nosuchfielderror:defaultReader

阎坚成
2023-03-14

我使用JSON解析器来提取值,并使用以下jar json-path-2.1.0,当我在weblogic服务器上调用作为webservice部署的用例时,我得到了以下错误。我编写了一个小的主程序来从JSON字符串中提取值,它工作得很好,但是用例的服务器版本给出了问题。我不确定是否有任何其他罐子的一部分,我的耳朵可以负面影响这一点

SEVERE: defaultReader
java.lang.NoSuchFieldError: defaultReader
at com.jayway.jsonpath.spi.json.JsonSmartJsonProvider.<init>(JsonSmartJsonProvider.java:39)
at com.jayway.jsonpath.internal.DefaultsImpl.jsonProvider(DefaultsImpl.java:21)
at com.jayway.jsonpath.Configuration.defaultConfiguration(Configuration.java:174)
at com.jayway.jsonpath.internal.JsonContext.<init>(JsonContext.java:52)
at com.jayway.jsonpath.JsonPath.parse(JsonPath.java:596)

共有1个答案

白迪
2023-03-14

碰到同样的问题。

它不能工作的原因不是JDK8。您遇到这个问题的原因是WebLogic12.2.1.x捆绑了一些旧版本的JSON-Smart。

在我的机器上,可以在下面找到:jar:file://c://dev/wls_12_2_1_2_0/oracle_common/modules/net.minidev.json-smart.jar!/net/minidev/json/jsonvalue.class

 public JsonSmartJsonProvider() {
        this(JSONParser.MODE_PERMISSIVE, JSONValue.defaultReader.DEFAULT_ORDERED);
    }
JSONValue.defaultReader
<wls:prefer-application-packages>       
<wls:package-name>net.minidev.json.*</wls:package-name>                              
</wls:prefer-application-packages>
 <wls:container-descriptor>
        <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>        
    </wls:container-descriptor>

问候。

 类似资料:
  • 问题内容: 我正在使用JSON解析器提取值,并且正在使用以下jar json- path-2.1.0,当我调用在weblogic服务器上部署为webservice的用例时,出现以下错误:从json字符串中提取值,效果很好,但是用例的服务器版本引起了问题。我不确定耳朵中是否还有其他罐子会对这产生负面影响 问题答案: 偶然发现了同样的问题。 它不起作用的原因不是JDK8。之所以遇到此问题,是因为web

  • 问题内容: 我需要一些帮助,以设计一种策略来解析Talend作业(Java作业,而不是Perl)中的JSON文档。我正在使用Talend版本:5.0.2,并在Mac上进行开发,并计划在Linux机器上运行。 不幸的是,由于文件格式的原因,我无法使用tFileInputJSON组件- 每个文件包含数百个JSON文档,而完整的JSON文档占据了文件中的一行。我认为正确的解决方案是逐行读取文件,然后将其

  • 问题内容: 我需要一个与J2ME / CLDC 1.1一起使用的基本JSON解析器。 Google搜索对此返回了大量答案(甚至在stackoverflow上也是如此),但似乎所有人都指向不再可用的库和解决方案(例如,很多指向应该在json.org上的实现)网站,但至少我找不到仅J2SE以外的任何内容)。 到目前为止,我最大的希望是将源链接到这里:https : //meapplicationdev

  • 我一直得到一个JSON解析器错误,每次我尝试连接从Android到php帐户。下面你会看到我得到的错误: 谁能帮帮我吗。。。 PHP代码: Android代码: Android代码: 公共JSONObject getJSONFromUrl(字符串url,列表参数){ 注册用户JSONObject PhP警告: php代码: 链接89是$no_of_rows 用户表结构: mysql_error:

  • 使用简单的JSONParser将字符串解析为JSONObject,没有任何问题。后来听说了jackson解析器,它似乎比简单的JSONParser更快。但问题是,如果jsonobject中有一个jsonobject,在通过Jackson解析器进行解析后,无法提取内部jsonobject,这在简单的JSONParser中不是这样的,而且要容易得多。 例如:{"Key1":"Value1","Key2

  • com.fasterxml.jackson.databind.jsonMappingException:属性“wallpaper”的setter定义冲突:在RializerCache._CreateAndCache2(deserializerCache.java:298)...com.fasterxml.jackson.databind.objectMapper._ReadMapandClose(