简体   繁体   中英

Filtering JSON data in a list

I am new to working with JSON data. I am having difficulty on how to return back bicycles that have a color of "Blue". Using JSONPath.

The following example JSON file.

{
    "store": {
        "book": [
            {
                "category": "reference",
                "author": "Nigel Rees",
                "title": "Sayings of the Century",
                "price": 8.95
            },
            {
                "category": "fiction",
                "author": "Evelyn Waugh",
                "title": "Sword of Honour",
                "price": 12.99
            },
        "bicycle": [
            {
                "price": 19.95
                "color": [
                    "red"
                ],
            },
            {
                "price": 20.99
                "color": [
                    "blue",
                    "Green"
                ],
            },
        ]
    }
}

I have tried to use the following filter but it doesn't work.

$.store.bicycle[?(@.color=='blue')]

Any ideas to how to get this to work and only return the price of bicycles that are Blue?

Any information is greatly welcomed.

The JSON Data is

{
    "store": {
        "book": [
            {
                "category": "reference",
                "author": "Nigel Rees",
                "title": "Sayings of the Century",
                "price": 8.95
            },
            {
                "category": "fiction",
                "author": "Evelyn Waugh",
                "title": "Sword of Honour",
                "price": 12.99
            }],
        "bicycle": [
            {
                "price": 19.95,
                "color": [
                    "red"
                ]
            },
            {
                "price": 20.99,
                "color": [
                    "blue",
                    "Green"
                ]
            }
        ]
    }
}

The JSONPath is

$.store.bicycle[?(@.color.indexOf('blue') != -1)]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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