1

数値キーでインデックス付けされた JSON ドキュメント サブツリーを抽出しようとしています。

私のJSON文字列:

{
    "pk": 20,
    "tree": {
        "100": {
            "values": [
                1, 2, 3
            ]
        },
        "abc" => 999
    }
}

私のコード:

$session = mysql_xdevapi\getSession("mysqlx://root:letmein@localhost");
$schema = $session->getSchema('test');
$coll = $schema->getCollection('myColl');
$expr = mysql_xdevapi\Expression('$.tree.*');
$result = $coll->find('$.pk=20')->fields(['$.tree[100]'])->execute();

'$.tree[100]'結果の使用

    [
        'tree' => null
    ]

'$.tree.*'結果の使用

    [
        'tree' => [
            0 => [
                1, 2, 3
            ],
            1 => 999
        ]
    ]

'$.tree.abc'結果の使用

    [
        'tree' => [
            'abc' => 999
        ]
    ]

したがって、'$.tree.abc'機能しますが、機能しません'$.tree[100]'

質問values「$.tree[100]」式を使用してキーにアクセスするにはどうすればよいですか?

ありがとう!

4

1 に答える 1