JSON Help

Support
  • {
    "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
    },
    {
    "category": "fiction",
    "author": "Herman Melville",
    "title": "Moby Dick",
    "isbn": "0-553-21311-3",
    "price": 8.99
    },
    {
    "category": "fiction",
    "author": "J. R. R. Tolkien",
    "title": "The Lord of the Rings",
    "isbn": "0-395-19395-8",
    "price": 22.99
    }
    ],
    "bicycle": {
    "color": "red",
    "price": 19.95
    }
    },
    "expensive": 10
    }

    how to get Json express for get of each book title and price in 1 line
    $.store.book[].title+ " - " + $.store.book[].price doestn work

  • @mak0ni I think a single JSONPath expression cannot perform such a complex task.
    You could use two JSONPath expressions and combine them,
    or use the following JavaScript code:

    const data = {
    	"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
    			},
    			{
    				"category": "fiction",
    				"author": "Herman Melville",
    				"title": "Moby Dick",
    				"isbn": "0-553-21311-3",
    				"price": 8.99
    			},
    			{
    				"category": "fiction",
    				"author": "J. R. R. Tolkien",
    				"title": "The Lord of the Rings",
    				"isbn": "0-395-19395-8",
    				"price": 22.99
    			}
    		],
    		"bicycle": {
    			"color": "red",
    			"price": 19.95
    		}
    	},
    	"expensive": 10
    };
    const titlesAndPrices = data.store.book.map(book => `${book.title} - ${book.price}`);
    [[LIST]] = titlesAndPrices