Задать вопрос
Dee3
@Dee3

Как правильно указать JsonPath чтобы вернуть часть массива с ключами?

Есть на входе такие данные:

{
	"productRows": [
		{
			"id": 26046,
			"ownerId": 20708,
			"ownerType": "D",
			"productId": 0,
			"productName": "Товар не из каталога",
			"price": 11,
			"quantity": 1
		},
		{
			"id": 25844,
			"ownerId": 20708,
			"ownerType": "D",
			"productId": 2,
			"productName": "Товар 2",
			"price": 900,
			"quantity": 5
		}
	]
}


Задача через селектор JsonPath Expression преобразовать данные, получив тот же обьект, только убрав ключи с данными id, ownerId, ownerType.
Json path - строка с различными операторами типа $.productRows.[0].[productId,price,{какие то условия}]), вот тут документация https://www.ietf.org/archive/id/draft-goessner-dis...

Т.е. результат по итогу применения JsonPath должен быть таким:

{
	"productRows": [
		{
			"productId": 0,
			"productName": "Товар не из каталога",
			"price": 11,
			"quantity": 1
		},
		{
			"productId": 2,
			"productName": "Товар 2",
			"price": 900,
			"quantity": 5
		}
	]
}
  • Вопрос задан
  • 207 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@defriz
люблю js
let obj = {
  "productRows": [
    {
      "id": 26046,
      "ownerId": 20708,
      "ownerType": "D",
      "productId": 0,
      "productName": "Товар не из каталога",
      "price": 11,
      "quantity": 1
    },
    {
      "id": 25844,
      "ownerId": 20708,
      "ownerType": "D",
      "productId": 2,
      "productName": "Товар 2",
      "price": 900,
      "quantity": 5
    }
  ]
};

obj = obj["productRows"].map(x => x = { productId: x.productId, productName: x.productName, price: x.price, quantity: x.quantity });

console.log(obj);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы