问题标签 [jsonpath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JsonPath - 读取 Java Long 类型
我有看起来像这样的 JSON 数据
{"sessionID":7242750700467747000}
该数字是先前从服务器响应中获得的,并在服务器端生成为 Java Long。客户端识别出自己认为这一点sessionID
并将其与请求一起发送。问题是当客户端的请求到达服务器时,我必须再次解析该值以键入 Long。我使用 JsonPath,特别是:
当我像这样解析 JSON 数据时
长 sessionID = JsonPath.read(json, "$.sessionID");
我得到一个例外:
java.lang.ClassCastException:java.lang.Integer 无法转换为 java.lang.Long
所以看起来这个数字被 JsonPath 解析为整数。这肯定会导致错误的结果,因为 Integer 小于 Long。JsonPath 中是否有任何方法可以将数据解析并返回为 Long?
json - 使用 Jmeter 中的“Json Path Extractor”从 JSON 响应中提取多个值
请帮我提取account_name = max
使用 Jmeter Json Path Extractor
。
json - CometD 和 Tomcat 未使用长轮询
我在让tomcat 与cometD 和Longpolling 一起工作时遇到问题。
我在萤火虫中看到所有请求都在 ms 区域中,尽管轮询应该保持至少 1 秒。服务器在 ms 时间内没有响应。
这是我在萤火虫中得到的:
我的 web.xml
我的 pom:安装 maven-war-plugin org.cometd.javascript cometd-javascript-dojo org.mortbay.jetty jetty-maven-plugin 10 /
我确实错过了 longpoll 配置的一些东西?
java - JsonPath NoClassDefFoundError,或 Java 中 JsonPath 的替代方案
出于与我正在从事的项目相关的原因,例如,我希望对 JSON 文件的整个查询作为字符串保存$.store.book[*].title
(而不是必须将文档的每个级别临时存储为单独的对象) .
我目前正在使用 JsonPath(版本 0.8.0,这是我能找到的最新版本),这基本上正是我正在寻找的,但我得到了下面显示的异常。我只是使用 JsonPath 谷歌代码页上给出的示例 JSON,使用他们的示例查询之一。
我在这里做错了什么?或者,如果没有解决方案,Java 中是否有替代 JsonPath 的方法?我希望能够将整个查询作为字符串传递,并且它必须使用 Java。
功能:
例外:
练习 JSON:
json - 如何使用 JMeter 解析无序 JSON 对象中的空值
我们正在接收来自 Web 服务的 JSON 响应——我们可以在运行测试时使用JMeter轻松解析它。我们最近发现的问题是 JSON 对象中的字段并不总是相同的顺序。因此,正则表达式会中断。
以下是我们尝试过的解决方案:
1.) JSON 路径提取器(来自 jp@gc):
这很酷,可以让您选择所需的元素。问题是当有一个null
值时,它根本不会读取它。
2.)然后我们尝试添加一个BeanShell -预处理器来将变量设置为null
初始值,这样当它达到条件时它会被正确执行。这种方法的问题在于,一旦设置为null
,如果 JSON 路径提取器选择了一个值,它就不会更改为任何值。
有没有人对我可以让它工作的其他方式有任何想法?如果您有任何问题或需要澄清,请告诉我。
java - Java 中 JsonPath 的更快替代方案
对于大型 JSON 文件,JsonPath 似乎相当慢。
在我的项目中,我希望用户能够将整个查询作为字符串传递。我使用 JsonPath 是因为它可以让你一次完成整个$.store.book[3].price
查询JsonPath.read(fileOrString, "$.store.book[3].price", new Filter[0])
。是否有更快的方法与 Javascript 中的 JSON 文件进行交互?能够将整个查询作为字符串传递是理想的,但如果必须,我会编写一个解析器。有任何想法吗?
即使是小的优化也会有所帮助。例如,我目前每次查询时都从 JSON 文件中读取。将整个文件复制到开头的字符串并改为查询字符串会更好吗?
编辑:对于那些说“这是 Javascript,而不是 Java”的人,嗯,它实际上是 Java。JsonPath 是一种类似 Javascript 的查询语言,但我正在编写的文件肯定是 Java。只有查询是用 Javascript 编写的。以下是有关 JsonPath 的一些信息和一段代码:https ://code.google.com/p/json-path/
javascript - 如何用正则表达式替换和更正json路径字符串?
我有一个 javascript 字符串数组,带有修改后的 json 路径,如下所示:
如何更改此列表中的所有元素,使其成为有效的 json 路径?我的意思是这样的:
json - 无法在 Jmeter 中解析 json 响应
我尝试用 jmeter 解析 JSON 响应,然后在 JDBC 请求中使用解析值。我有一个 Json 路径,如:
但是当我在以后的请求中使用该变量时,结果是:
所以它不是变量而是json小文件。我该如何解决这个问题?
java - jayway jsonpath 使用的默认类型?
当我有一个值时
我想使用 spring 3.2 Resutlmatcher 执行以下操作:
其中 myPojo.getMyX 返回一个 double,测试失败,因为 json 被转换为 BigDecimal,错误消息
我怎样才能避免这种情况?
c# - 在 C# 中使用带有 JsonPath 的过滤器
我正在使用C# 的 JsonPath来查询一些 JSON 数据。JsonPath 没有自带解析器,因此根据Rick Sladkey 的建议,我使用Json.NET将我的 Json 字符串解析为嵌套IDictionary
对象、IList
数组和原语的集合。然后我使用 JsonPath 对其进行过滤(在添加Rick Sladkey 的答案中建议的类之后)。
作为参考,这是我的代码中实际处理所有这些的部分:
我首先使用 JsonPath 的原因是它的过滤器功能。您不仅可以进行普通查询,例如"$.store.book[*].title"
(获取书店中所有书名的数组),还可以进行查询"$.store.book[?(@.category == 'fiction')].title"
(获取书店中所有类别匹配“小说”的书名的数组)。我需要能够将整个查询作为字符串传递,因此能够在查询时进行过滤非常有帮助。
不幸的是,我在让这个过滤器功能工作时遇到了一些麻烦。我希望我必须对 JsonNetValueSystem 类(最初在上述堆栈溢出答案中定义)或 JsonPath 命名空间(您可以从JsonPath 的谷歌代码页获取 JsonPath.cs )进行调整。如果有一些外部工具或 Json.NET 的替代解析机制可以让我保持 JsonPath 的过滤而不必编写太多额外的代码,那将是理想的,但我很确定我将不得不改变 JsonNetValueSystem或 JsonPath 本身。(这两个都相当容易更改,因为它们只是 .cs 文件,但如果没有更多工作,我无法真正深入研究 Json.NET。)
我实际上似乎无法弄清楚原始 JsonPath 代码在哪里处理过滤,也无法弄清楚为什么 JsonNetValueSystem 类会剥夺它的功能。任何有关如何在查询字符串中添加过滤功能的建议将不胜感激。即使只是“不要乱用 JsonPath,只需更改 JsonNetValueSystem”,反之亦然。