1

私は安心したフレームワークを使用しており、その中に JsonPath クラスがあります。JsonPath には getList(String path, Class T); のメソッド シグネチャがあります。

私はこのようなことをしようとしています:

List<JsonPath> myList = myJsonPathObject.getList("mypath", JsonPath.class);

そして、ランタイムキャスト例外が発生します。したがって、これを呼び出す際の正しい形式は何でしょうか。私も試みました:

List<JsonPath> myList = myJsonPathObject.getList("mypath", new ArrayList<JsonPath>().getClass());

そしてそれも失敗しました。実際、それはコンパイルに失敗しました。

4

2 に答える 2

2

JsonPath は、JSON ドキュメントから値を抽出するために使用されます。JSON ドキュメントから「JsonPath」のリストを取得することはできません。

于 2012-10-05T16:45:52.667 に答える
0

これが古い脅威であることは知っていますが、誰かがコメントして思い出させてくれました。私は実際にこの質問に対する答えを見つけました。

私がしなければならなかったのは、それを にキャストすることでしMap<String, Object>た。オブジェクトを反復処理しながら、オブジェクトを適切なクラスにキャストする必要があります。

Map<String, Object> myMap = (Map<String, Object>) myJsonPathObject.get("mypath");
for (String key : myMap.getKeySet()) {
  Map<String, Object> subMyMap = (Map<String, Object>) myMap.get(key);
}

これで、追加のモックアップ、json 内の json を取得し続けることができます。

于 2014-10-22T13:19:17.850 に答える