在Python中我有一个JSON对象,在其字段中有一个( field3 ),其中包含一个json对象列表。
此对象从Python脚本传递到基于JS的Express框架的REST服务:
urllib.request.urlopen(
urllib.request.Request(
url="http://"+self.__host+_":"+self.__port+"/api"+restmethod,
data=urllib.parse.urlencode(objData).encode('utf8'),
headers=self.__headertoken,method=httpmethod)
)
但是当服务器收到JSON时,会自动将 field33 识别为字符串而不是JSON列表。
{ field1: '',
field2: '',
field3: '[{\'field31\': \'\', \'field32\': \'\', \'field33\':\'\',\'field34\': \'\', \'field34\': \'0.00\'}]',
field4: ''
}
所以当我尝试 obj.field3 [0] 时,它会返回一个字符串而不是JSON列表。
我尝试了JSON.parse(string)
和JSON.stringify(object)
但我仍然无法访问Json列表及其元素,例如 obj.field3.field31
如何从父JSON字段中恢复该JSON列表? 感谢
答案 0 :(得分:1)
field3
应该是:
'[{\"field31\": \"\",...}]',
或简单地说:
'[{"field31": "",...}]',
单引号'
在JSON.parse解析时会导致错误。
并且obj.field3
是一个数组,因此要获得field31
值,您应该使用:
obj.field3[0].field31