Javascript Json解析未转换为对象

Javascript Json解析未转换为对象,javascript,json,object,Javascript,Json,Object,我的API返回的用户对象和格式如下=> {'id': '1', 'username': 'admin', 'image': 'https://user/testing.png', 'phno': '123'} 首先,我执行JSON.stringify,并检查此行的类型是否为字符串 因此,我使用JSON.parse获取一个对象,但它仍然是字符串,无法获取它,因为user.id是未定义的 我如何获得像user.id,user.username console.log(user); console.

我的
API
返回的用户对象和格式如下=>

{'id': '1', 'username': 'admin', 'image': 'https://user/testing.png', 'phno': '123'}
首先,我执行JSON.stringify,并检查此行的类型是否为字符串

因此,我使用JSON.parse获取一个对象,但它仍然是字符串,无法获取它,因为
user.id
是未定义的

我如何获得像
user.id
user.username

console.log(user);
console.log(user.user);

var test = JSON.stringify(user.user);
console.log(typeof(test));

var test1 = JSON.parse(test);
console.log(test1.id);

此解决方案适用于您的数据:

var data='{“id”:“1”,“用户名”:“admin”,“图像”:”https://user/testing.png“,“phno”:“123”}”;
var user=JSON.parse(数据);

console.log(user.id)我认为问题可能在于您的API返回带有单引号的JSON数据,而JavaScript无法正确解析它。检查您在服务器端使用的JSON序列化程序。它应该像:
{“id”:“1”,“用户名”:“admin”,“image”:https://user/testing.png“,“phno”:“123”}

您似乎没有得到确切的用户json。问题可能是后端

const obj=`{“user”:“{\\”id\\”:\\“1\\”,\\“username\\”:\\“admin\\”,\\“image\\”:\”https://user/testing.png\\“,\ \“phno\\”:\ \“123\\”}”`
控制台日志(obj)
//首先获取用户的值。
让user=JSON.parse(obj.user)
console.log(用户类型)//字符串
//再次解析,因为用户是字符串
user=JSON.parse(用户)
console.log(user.username)

console.log(user.id)
通知-JSON格式应该包含
,而不是单引号