简体   繁体   English

这个帖子需要解释

[英]Need explanation with this post


I want to save JSON path for each JSON node in a list . 我想为列表中的每个JSON节点保存JSON路径
I came across this tutorial : How do I get a list of all JSON paths to values from a JSON String? 我碰到了本教程: 如何从JSON字符串获取值的所有JSON路径的列表? ,
but I am unable to understand & execute it 但我无法理解并执行它
Please help.. 请帮忙..

Code: 码:

String json = "{'shopper': {'Id': '4973860941232342', 'Context': {'CollapseOrderItems': false, 'IsTest': false } }, 'SelfIdentifiersData': {'SelfIdentifierData': [{'SelfIdentifierType': {'SelfIdentifierType': '111'} }, {'SelfIdentifierType': {'SelfIdentifierType': '2222'} } ] } }";

Configuration conf = Configuration.defaultConfiguration();
List<String> jsonPaths = JsonPath.using(conf).parse(json).read("$");

for (String path : jsonPaths) {
    System.out.println(path);
}

Expected Output: 预期产量:

$.shopper.Id
$.shopper.Context.CollapseOrderItems
$.shopper.Context.IsTest
$.SelfIdentifiersData[0].SelfIdentifierData.SelfIdentifierType.SelfIdentifierType
$.SelfIdentifiersData[1].SelfIdentifierData.SelfIdentifierType.SelfIdentifierType


Exception trace : 异常跟踪:

Exception in thread "main" java.lang.NoClassDefFoundError: net/minidev/json/writer/JsonReaderI
    at com.jayway.jsonpath.internal.DefaultsImpl.<init>(DefaultsImpl.java:17)
    at com.jayway.jsonpath.internal.DefaultsImpl.<clinit>(DefaultsImpl.java:15)
    at com.jayway.jsonpath.Configuration.getEffectiveDefaults(Configuration.java:53)
    at com.jayway.jsonpath.Configuration.defaultConfiguration(Configuration.java:178)
    at com.json.JsonPathCreator.main(JsonPathCreator.java:17)
Caused by: java.lang.ClassNotFoundException: net.minidev.json.writer.JsonReaderI
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 5 more

Use this dependency for JsonReaderI. 将此依赖项用于JsonReaderI。 json-smart-2.1.0 json-smart-2.1.0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM