我有一个JSON文件,如下所示:
{
"desired":{
"property1":{
"port":"/dev/usbserial",
"rx":{
"watchdoginterval":3600
},
"state":{
"path":"/Users/user1"
},
"enabled":"true",
"active":{
"enabled":"true"
}
},
"property2":{
"signal_interrupt":"USR2",
"signal_description_path":"/tmp/logger.log"
},
"property3":{
"periodmins":40
},
}
}
我在尝试将其转换为用于AWS IoT的字符串时遇到问题。我正在使用的功能是deviceShadowHandler.shadowUpdate(JSONPayload, customShadowCallback_Update, 5)
其中JSONPayload应该是JSON字符串。
我尝试过:
with open('JSONfile.json' , 'r') as f:
dict = json.load(f)
JSONPayload = str(dict)
但是我收到“无效的JSON文件错误”。
尝试从jSON文件中手动创建文字字符串会引起对“扫描字符串文字时出现EOL”等问题的抱怨。
解决此问题的最佳解决方案是什么?我刚接触JSON,东西和Python。
答案 0 :(得分:0)
Trailing commas are not allowed in JSON。
{
"desired":{
"property1":{
"port":"/dev/usbserial",
"rx":{
"watchdoginterval":3600
},
"state":{
"path":"/Users/user1"
},
"enabled":"true",
"active":{
"enabled":"true"
}
},
"property2":{
"signal_interrupt":"USR2",
"signal_description_path":"/tmp/logger.log"
},
"property3":{
"periodmins":40
} # <- no comma there
}
}