JSON
{ "customer":{ "address":{ "stateRegion":"", "stateRegionCode":"" } } }Código
"address.state_code": "$.customer.address.[stateRegion ? stateRegion: stateRegionCode?stateRegionCode: null]", Aquí, en la expresión anterior, quiero stateRegion como el valor si está presente en el cliente como objeto principal y la dirección como objeto secundario; de lo contrario, quiero stateRegionCode y, si ambos no están presentes, quiero null , ¿cómo podemos personalizar esto usando jsonpath? -más ?
No puede hacer esto durante la creación inicial del objeto porque acceder a las propiedades del objeto (para usar en su expresión condicional) requiere que el objeto ya exista.
Quizás lo más cercano que pueda obtener es, una vez que haya definido el objeto, escribir algo similar a su "address.state_code": "$.customer.address.[stateRegion ? stateRegion: stateRegionCode?stateRegionCode: null]" :
const $ = { "customer" : { "address" : { "stateRegion" : "", "stateRegionCode" : "" } } }, {stateRegion, stateRegionCode} = $.customer.address; // Destructures address $.customer.address.state_code = stateRegion ? stateRegion : stateRegionCode ? stateRegionCode : null; console.log($.customer.address);