У меня есть следующий код JSON. Я вытаскиваю значения в базу данных SQL с помощью OPENJSON, но у меня возникают проблемы с пути для объекта Refund.Перемещение объектов JSON с tSQL - OPENJSON
Я пытаюсь вытащить значение «сумма» в объект «транзакции» (поэтому ожидаемое значение должно быть 298.47).
SQL кода (в настоящее время возвращает только нулевые значения)
OPEN(json)
WITH(
OtherJSONstuff varchar '$otherjsonstuff'
Refund int '$.refund[0].transactions.amount' <what should this be
JSON код
"otherjsonstuff": othervalues
"otherjsonstuff": othervalues
"object": [
{
"id": 212,
"items": [
{
"id": 151,
"quantity": 3,
"item_id": 926,
"subtotal": 30.0,
"tax": 0.0,
"item": {
"id": 926,
"quantity": 3,
"price": "10.00",
"product_id": 934,
"properties": [],
"discount": "0.00",
"tax": []
}
}
],
"action": [
{
"id": 537,
"amount": "298.47", --this is the line I need
"kind": "refund",
"created": "2016-12-13",
"location_id": null,
"parent_id": 537,
}
],
}
],
Не могли бы вы добавить дополнительную информацию, например, ожидаемый результат и фактический результат. Также добавьте версию SQLserver – TheGameiswar
Готово, и я честно не знаю, Версия SQLServer. Независимо от новейшей версии. Я не думаю, что это будет иметь большое значение, хотя. – james5
Поскольку 'transaction' также является массивом, вам нужно указать, какая' транзакция' вы хотите в вашем массиве 'refund'. Возможно, ваш путь должен быть '$ .refund [0] .transactions [0] .amount' – JNevill