2017-05-28 11 views
0


各JSONノードのJSONパスをリストに保存したい
は、私は、このチュートリアルに出くわした:How do I get a list of all JSON paths to values from a JSON String?
私は...それは
助けてください実行&を理解することができませんこの記事で説明する必要があります

コード:

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); 
} 

予想される出力:

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


例外トレース:

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 
+0

これまでに試したことをあなたのコードで共有してください – Akshay

+0

あなたは何を達成しようとしていますか? –

+0

@RajithPemabandu:私の要件は、すべてのJSONノードパスをリストに保存することです。このよう :$ .shopper.Id $ .shopper.Context.CollapseOrderItems $ .shopper.Context.IsTest $ .SelfIdentifiersData [0] .SelfIdentifierData.SelfIdentifierType.SelfIdentifierType $ .SelfIdentifiersData [1] .SelfIdentifierData.SelfIdentifierType。 SelfIdentifierType –

答えて

関連する問題