开发者社区> 问答> 正文

JsonPath not support -

我有个json数据,计划用JsonPath获取其中 x-limit 字段的数据,JSONPath.of("$.x-limit") 时候抛出异常提示: com.alibaba.fastjson2.JSONException: not support -

{ "x-limit":10 }

环境信息:

OS信息: [e.g.:Mac ] JDK信息: [e.g.:Openjdk 1.8.0_231] 版本信息:[e.g.:Fastjson2 2.0.11]

期待的正确结果

期望正常运行,无异常抛出

实际执行结果:

Exception in thread "main" com.alibaba.fastjson2.JSONException: not support - at com.alibaba.fastjson2.JSONPath$JSONPathParser.parse(JSONPath.java:5997) at com.alibaba.fastjson2.JSONPath.of(JSONPath.java:392) at com.caocao.eventbus.pattern.Main.main(Main.java:12)

原提问者GitHub用户Nailcui

展开
收起
飘飘斯嘉丽 2023-04-21 11:22:35 280 0
1 条回答
写回答
取消 提交回答
  • 其中-需要做转义,可以两种办法解决你的问题,比如

    String str = "{\n" + " "x-limit":10\n" + "}"; JSONObject object = JSON.parseObject(str); assertEquals( 10, JSONPath .of("$.x\-limit") .eval(object) ); assertEquals( 10, JSONPath .of("$['x-limit']") .eval(object) );

    原回答者GitHub用户wenshao

    2023-04-21 14:19:26
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载