0

過去数時間から試してみましたが、これを回避することができません。

基本的に、リストと json 文字列の 2 つがあります。

queryList = [ ["user"],["place",["city"]]

したがって、この queryList には、次の json から値を取得するキーが含まれています。

現在、json 文字列には次のキーも含まれています。

  json_string = {"user":"foo", "place": {"city":"foocity"}....}

「city」はネストされた形式で存在するため、queryList には 2D メンバーである [city] がありますか?

手動で、次のようなことができます:

   json_string.get("user");
   json_string.getJSONObject("place").get("city");

しかし、私はそれらをハードコーディングしたくありません...私が期待している出力は次のとおりです。

  ["foo","foocity"]

私はJavaが初めてなので、これをまっすぐに考えるのに苦労しています。

ありがとう

4

1 に答える 1

1

私のライブラリの1つに基づいて、ここで解決策; このライブラリはJacksonに基づいています。これにより、目の前のタスクに必要なJSON Pointerがサポートされます。

https://gist.github.com/fge/5688657

の内容query.json:

[
    ["user"],
    ["place", ["city"]]
]

の内容data.json:

{
    "user": "foo",
    "place": {
        "city": "foocity"
    }
}

上記の要点の出力:

["foo","foocity"]

予想通り。

さらなる説明のために編集されます。

于 2013-05-31T22:00:39.560 に答える