Javascript 有没有更简单的方法将外部JSON对象转换为JS对象?

Javascript 有没有更简单的方法将外部JSON对象转换为JS对象?,javascript,json,web,es6,Javascript,Json,Web,Es6,在我的代码中,我抓取页面的HTML主体(json对象),然后将对象中的每个键解析为JS对象中的键,考虑到我不想更改键的名称或对象的内容,是否有办法一次性转换整个对象,而不是一次完成它的所有组件?如果没有,我这样做是否很好?是的,您可以将解析后的对象分配给变量: var twitchProfile = {}; request("https://api.twitch.tv/kraken/users/magnaboyy.json?client_id=8gkbch3ffqj35c1ccx088b9j6l

在我的代码中,我抓取页面的HTML主体(json对象),然后将对象中的每个键解析为JS对象中的键,考虑到我不想更改键的名称或对象的内容,是否有办法一次性转换整个对象,而不是一次完成它的所有组件?如果没有,我这样做是否很好?

是的,您可以将解析后的对象分配给变量:

var twitchProfile = {};
request("https://api.twitch.tv/kraken/users/magnaboyy.json?client_id=8gkbch3ffqj35c1ccx088b9j6leifs8", function (error, response, body) {
const TwitchURL = body;
var jsonContent = JSON.parse(TwitchURL);
twitchProfile.display_name = (jsonContent.display_name);
twitchProfile.id = (jsonContent.id);
twitchProfile.name = (jsonContent.name);
twitchProfile.created_at = (jsonContent.created_at);
twitchProfile.logo = (jsonContent.logo);
console.log(twitchProfile);

此外,如果您的“TwitchProfile”已具有某些属性,则必须合并对象。此处描述的合并方法:

是的,您可以将解析后的对象分配给变量:

var twitchProfile = {};
request("https://api.twitch.tv/kraken/users/magnaboyy.json?client_id=8gkbch3ffqj35c1ccx088b9j6leifs8", function (error, response, body) {
const TwitchURL = body;
var jsonContent = JSON.parse(TwitchURL);
twitchProfile.display_name = (jsonContent.display_name);
twitchProfile.id = (jsonContent.id);
twitchProfile.name = (jsonContent.name);
twitchProfile.created_at = (jsonContent.created_at);
twitchProfile.logo = (jsonContent.logo);
console.log(twitchProfile);

此外,如果您的“TwitchProfile”已具有某些属性,则必须合并对象。此处描述的合并方法:

如果您有不同的对象,但需要将它们合并在一起,例如:

var twitchProfile = {};
request("https://api.twitch.tv/kraken/users/magnaboyy.json?client_id=8gkbch3ffqj35c1ccx088b9j6leifs8", function (error, response, body) {
    const TwitchURL = body;
    var twitchProfile = JSON.parse(TwitchURL);
    console.log(twitchProfile);
}
您可以使用:


如果您有不同的对象,但需要将它们合并在一起,例如:

var twitchProfile = {};
request("https://api.twitch.tv/kraken/users/magnaboyy.json?client_id=8gkbch3ffqj35c1ccx088b9j6leifs8", function (error, response, body) {
    const TwitchURL = body;
    var twitchProfile = JSON.parse(TwitchURL);
    console.log(twitchProfile);
}
您可以使用:


不,要使它更具可读性,唯一可以做的就是使用

请参见以下示例:

var jsonObj={
“姓名”:“亚历山德罗”,
“姓氏”:“测试”,
“年龄”:34
};
功能人员(json){
this.name=json.name;
this.lasname=json.lasname;
this.age=json.age;
}
var person1=新员工(jsonObj);

console.log(“Hi”+person1.name)不,要使其更具可读性,唯一可以做的就是使用

请参见以下示例:

var jsonObj={
“姓名”:“亚历山德罗”,
“姓氏”:“测试”,
“年龄”:34
};
功能人员(json){
this.name=json.name;
this.lasname=json.lasname;
this.age=json.age;
}
var person1=新员工(jsonObj);

console.log(“Hi”+person1.name)实现此目的的方法:

1。您可以使用JavaScript的方法将
源对象的
深度复制到
目标(新)对象中

var jsonObj={
“显示名称”:“alpha”,
“id”:1,
“名称”:“xyz”,
“徽标”:“blabla”
};
var twitchProfile=JSON.parse(JSON.stringify(jsonObj));

console.log(twitchProfile)实现此目的的方法:

1。您可以使用JavaScript的方法将
源对象的
深度复制到
目标(新)对象中

var jsonObj={
“显示名称”:“alpha”,
“id”:1,
“名称”:“xyz”,
“徽标”:“blabla”
};
var twitchProfile=JSON.parse(JSON.stringify(jsonObj));

console.log(twitchProfile)“解析对象中的每个键”?不,你不是!您只需解析一次
JSON
,为什么不将
twitchProfile
分配给
jsonContent
?twitchProfile和jsonContent之间的区别是什么?“解析对象中的每个键”?不,你不是!您只需解析一次
JSON
,为什么不将
twitchProfile
分配给
jsonContent
?twitchProfile和jsonContent之间的区别是什么?谢谢,这很有意义,我花了一个多小时的时间试图进一步调试我的代码以异步方式工作,但它不工作:请求在try内部,但是我试着用r.get和rp.get(请求承诺)将它移到外面,但不知道是什么导致了它(我尝试了很多解决方案)。@Magnaboy jsfiddle不起作用,因为缺少包含。您看到模块请求的示例了吗?我只是使用JSFIDLE作为向您展示代码的一种方式,我已经看到了示例yesit在代码“ERROR”中给出了第二条消息,您有使用异步javascript的经验吗?我认为问题在于不正确的异步语法/格式。但我看到您在JSFIDLE中使用了WAIT。请在不等待的情况下启动代码,以查看响应和解析是否正常谢谢,这很有意义,我花了一个多小时试图进一步调试我的代码以使其异步工作,但它不工作:请求在try中,但我尝试将其移到外部,使用r.get,使用rp.get(请求承诺),不知道是什么导致了它(我尝试了很多解决方案)@Magnaboy jsfiddle不起作用,因为缺少包含。你看到模块请求的示例了吗?我只是用jsfiddle来向你展示代码,我看到了示例是的。它在代码“ERROR”中给出了第二条消息,你有使用异步javascript的经验吗?我想问题是异步语法/格式不正确。cod示例是可以的。但我看到您在JSFIDLE中使用了WAIT。请在不使用WAIT的情况下首先启动代码,以查看响应和解析是可以的