Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将json转换为javascript对象_Javascript_Json_Object_Transform - Fatal编程技术网

将json转换为javascript对象

将json转换为javascript对象,javascript,json,object,transform,Javascript,Json,Object,Transform,我正在尝试从python发送一个dict: def toJsonCustom(自我): ajson=[] 阿杰森({ “id”:self.id, “数据”:self.data }) 返回json.dumps( ajson,默认值=lambda obj:obj.uu dict_uuu,分隔符=(',',':'),缩进=4, ) 异步def curl(url、数据): 与aiohttp.ClientSession()作为会话异步: 以session.post(url,json={'datajson

我正在尝试从python发送一个dict:


def toJsonCustom(自我):
ajson=[]
阿杰森({
“id”:self.id,
“数据”:self.data
})
返回json.dumps(
ajson,默认值=lambda obj:obj.uu dict_uuu,分隔符=(',',':'),缩进=4,
)
异步def curl(url、数据):
与aiohttp.ClientSession()作为会话异步:
以session.post(url,json={'datajson':data})作为响应的异步:
打印(报告(答复))
chunk=wait response.content.read()
打印('已下载:%s'%len(区块))
#输出JSON:
{“datajson”:“[\n{\n\“id\”:\“test\”,\n\“data\”:\“test\”\n}\n]“}”
当尝试将此json的输出从javascript转换为对象时,我没有定义

  const data = JSON.parse(get(props, 'websocket.data', null)) || get(state, 'websocket.data') || 'No data';


  console.log('Object json: ', (data));


# output: {"datajson": "[ n    { n         "id ": "test "  n         "data ": "test " n    } n]"}


  console.log('Object json: ', (data.id));

# output:undefined

如何以正确的方式将json转换为javascript对象


谢谢,

我认为您需要
data.datajson[0].id
似乎需要两次解析JSON字符串才能获得所需的对象:

  • 第一次解析为您提供了对象
    {“datajson”:“[{…”}
    ,请注意
    datajson
    属性的值是一个字符串
  • 因此,让我们再次解析上面的对象
    nestedData=JSON.parse(data.datajson)

我不太熟悉python是如何记录事情的,但您在#output JSON下看到的不是JSON。另外:Hi@ehaciom,我得到以下信息:TypeError:无法读取未定义的属性“0”。发生了什么事?调试时,请尝试一次执行部分。因此,首先注销
console.log(数据)
是个好主意。接下来尝试
console.log('datajson',data.datajson)
(数据周围不需要括号)。如果未定义,则需要计算对象的
类型。尝试
typeof data
typeof data.datajson
:console.log('datajson',data.datajson)返回未定义的。当json再次解析时,正如@vassiliskrikonis所说,我得到:意外的标记或json中的位置0什么是
console.log(数据)
console.log(数据类型)
console.log(数据):{“datajson”:“[\n{\n\“id\”:“test\”,\n\“value\:“test\”:“test\”\n}\n}\n]}console.log如何(数据类型):字符串console.log('datajson',data.datajson):datajson undefined。JSON似乎构建得很好。我已经检查了来自的数据输出,我不明白为什么我会得到undefined…正如我在上面的评论中看到的那样,我得到了:意外标记或JSON中的位置0,如果
数据。datajson
返回undefined,那么问题完全是另外一回事。尝试制作一个可复制的sc正如Jabberwocky评论的那样,我们可以帮助您:)