如何解决为什么带有不存在的键的更新运算符会产生两个单独的键/值?
我正在尝试使用更新运算符
case long at .reservations.*reservation.*flight.destination.longitude ->
long as Number as String {format: "###.000"}
case lat at .reservations.*reservation.*flight.*destination.latitude ->
lat as Number as String {format: "###.000"}
case congestion at .reservations.*reservation.flight.*destination.*status!
->
"Moderate Traffic"
//case dest at .reservations.*reservation.*flight.*destination -> dest
}
每个预订对象只有一个航班,只有一个目的地孩子。状态密钥不存在。更新运算符的结果是添加了两个单独的状态键/值,一个在原始目标对象中,然后在与原始子节点相同的级别上添加了一个新的空目标对象。
"reservations":{
"reservation": {
"First Name" : "Andrea",...
"flight": {
"destination": {
"timeZone": "America/Los_Angeles","status": "Moderate Traffic"
}
},"flight": {
"destination": {
"status": "Moderate Traffic"
}
}
},"reservation": {
"First Name": "Andrea","Last Name": "Schmidt",...
如何调整选择器或添加什么条件表达式以仅在原始匹配的目标对象内添加缺少的状态键/值?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。