我在解组从 DynamoDB 表中检索的信息时遇到问题。这是它的原始格式。
{
"email": {"S": "[email protected]"},
"name": {"S": "John Doe"},
"clientConfiguration": {
"M": {
"chartTimeScale": {
"S": "Periodic"
},
"naming": {
"S": "Site"
}
}
},
"clientName": { "S": "Client" },
"clientStatus": {"S": "Onboarding" },
"createdDate": {"S": "2023-09-19T15:46:09.688Z"},
"pageAccess": {
"M": {
"pageOne": {
"BOOL": false
},
"pageTwo": {
"BOOL": false
},
"pageThree": {
"BOOL": false
},
"pageFour": {
"BOOL": false
},
"pageFive": {
"BOOL": false
}
}
},
"users": {
"L": []
}
}
当我通过
unmarshall(data)
运行此操作时,我得到以下信息:
{
"email": "[email protected]",
"name": "John Doe",
"clientConfiguration": {
"chartTimeScale": "Periodic",
"naming": "Site"
},
"clientName": "Client" ,
"clientStatus": "Onboarding" ,
"createdDate": "2023-09-19T15:46:09.688Z",
"pageAccess": {
"M": {
"Lifts": {
"BOOL": true
},
"Roofs": {
"BOOL": true
},
"HVAC": {
"BOOL": true
},
"Refrigeration": {
"BOOL": true
},
"Car Parks": {
"BOOL": true
}
}
},
"users": []
}
我尝试使用 unmarshall 工具并创建我自己的版本。但没有运气。
有谁知道为什么以及如何解决这个问题。我正在使用 NodeJs
解决此问题的最简单方法是使用 Document Client,它将您从 DynamoDB 完全使用的类型描述符中抽象出来。
您可以从此博客了解更多信息:
https://aws.amazon.com/blogs/database/exploring-amazon-dynamodb-sdk-clients/
当您显示两个完全不同的项目时,很难判断问题是什么,但我的假设是您在保存项目时对其进行了双重编组。