JS+REST+NodeJS:如何从 JSON 对象解析 JSON 列表

JS+REST+NodeJS: How to parse a JSON list from a JSON object

本文关键字:JSON 对象 列表 JS+REST+NodeJS      更新时间:2023-09-26

在Python中,我有一个JSON对象,在其字段中有一个(field3),其中包含json对象列表。

此对象从 Python 脚本传递到基于 JS 的 REST 服务,其中包含 Express 框架:

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 列表?谢谢

field3应该是:

'[{'"field31'": '"'",...}]',

或者简单地:

'[{"field31": "",...}]',

单引号'在由 JSON.parse 解析时会导致错误。

obj.field3是一个数组,因此要获取field31值,您应该使用:

obj.field3[0].field31