Json解析和映射密钥



我正在尝试映射json以将其发送到另一个应用程序,该应用程序希望数据采用自己的格式,我正在使用AWS Lambda,当触发事件时,它会在json下面生成GET,需要根据应用程序的期望进行解析和映射。但密钥堆栈太大了,例如"详细信息"中"ratePlan"中的"rateCode",几乎有20000个速率代码,如"abc"、"xyz",。。。像那样绘制地图不是个好主意

if "rateCode" == "abc":
application_two_dict["rate_code"] = 123

因此有更多的键,这些键具有大的值集。映射这些键的最佳方式是什么。此外,这需要通过两种方式来实现,比如当我们从应用程序二获取数据时,我们需要解析json并映射密钥——以其他方式理解应用程序,反之亦然。



{
"customer": {
"firstName": "john",
"lastName": "doe",
"email": "john.doe@test.com",
"mailingAddress": {
"address1": "123 N 1st st",
"address2": "789",
"countryCode": "USA",
"stateCode": "AZ",
"city": "Phoenix",
"postalCode": "34567"
},
"telephoneNumber": {
"telephoneNumber": "1235456789"
}
},
"paymentAccount": {
"firstName": "john",
"lastName": "doe",
"paymentAccountType": "VA",
"expirationDate": "2021-05-31",
"billingAddress": {
"address1": "1234 N 1st st",
"address2": "435",
"city": "Phoenix",
"countryCode": "USA",
"postalCode": "213445",
"stateCode": "AZ"
}
},
"Details": {
"123": [{
"quantity": 1,
"ratePlan": {
"rateCode": "abc",
"DetailsList": [{
"CategoryCode": "1234",
}]
}
}
}

我仍然没有app2 json 的确切格式

json 示例

例如

app1 json

{
"Details": {
"123": [{
"quantity": 1,
"ratePlan": {
"rateCode": "abc",
"DetailsList": [{
"CategoryCode": "1234",
}]
}
}
}   
}

应用程序2 json

{
user_details_code : 123,
quantity : [1],
rate_plan : {
rate_code: "xyz",
category_code : "US_SAN"
}
}

我会尝试以下方法:-使用两张以rateCode为密钥的静态地图

{"abc":"123",…}和{"123":"abc",…},并使用它们从其他应用程序rateCode值中获取值。

  • 使用数据库根据app1值获取app2的rateCode。迪纳摩有一个非常低的延迟,可以非常有效

也许您可以更准确地描述这两个应用程序的json结构。

最新更新