我如何解析console.log(JSON.stringify(response));并创建一个变量?

时间:2017-10-18 22:34:08

标签: json parsing frontend stringify

我通过wordpress访问后端服务器。我在这里提出问题是因为它与wordpress相关的java相关性更高。初始化之后,我在控制台中获得了大量JSON格式的数据。我要它。

  

{" HeroP":0,"硬币":1," LeadP":0,"实验" 10},& #34; CURRENCY1":0," currency2":0," currency3":0," currency4":0," currency5&#34 ;:0," currency6":0,"显示名":" TESTUSER":{}}

这是因为:

function accountDetailsResponse(response) {
console.log(JSON.stringify(response));

我的header.php中找到了javascript,而不是我保存的各种js文件。

我喜欢看到服务器正常工作。但我想隔离"硬币"或" displayName"作为变量。然后我想在我的html中定义一个元素,如下所示:

  • 硬币
  • 的displayName
  • Exp - 或者其他什么。 JSON中的任何/所有这些东西

这样,当有人登录时,它会自动在一个漂亮的整洁列表中显示他们的显示名称,硬币或任何其他变量,而没有与他们无关的不必要的JSON值。

进一步的细节:控制台几乎吐出一切用于调试目的。服务器测试数据,API初始化数据,工程。同样,不止一个人将登录此服务器,因此displayName" testuser"将改为displayName" billybob"或者" jimmyjoe",无论谁登录。

我在使用javascript进行编码方面非常擅长,而且我几乎没有识字。如果问题没有正确格式化,我会道歉。我一直在自己搞清楚事情,但是这个肯定让我陷入困境。我似乎无法解析字符串,隔离变量,并在html中显示它!

5 个答案:

答案 0 :(得分:1)

您需要将JSON对象作为变量获取,如此MyKong post中所述。在你的情况下,你可能想要一些像:

var coins = response.coins;

答案 1 :(得分:1)

如果你正在处理JSON字符串:

var obj = JSON.parse(json_string);

获得对象后,使用点运算符访问属性:

var prop = obj.prop;

OR数组索引语法:

var prop = obj["prop"];

答案 2 :(得分:0)

javascript行的含义:

console.log(JSON.stringify(response));

response是一些包含属性的javascript对象 JSON.stringify()将该对象转换为JSON字符串 console.log()将该字符串字符串写入浏览器的控制台窗口。

因此,您不希望读取和解析在控制台中看到的格式化JSON字符串,因为您已在该response对象中访问该信息。

结构不太清楚(JSON缺少某些部分),但请尝试

console.log(response.displayName);

而不是原始console.log行旁边或旁边。您应该在控制台中看到“testuser”。现在,您需要找到一个HTML元素来将该值写入,而不是控制台。

答案 3 :(得分:0)

三分之三。我发布的每个问题,我都解决了!所以解析js的语法是错误的。 var obj =(JSON.parse(JSON.stringify(response)));'这让我可以使用obj.coin。它当前返回值“undefined”。但我有一种感觉,这将是字符串的格式化问题。这将是一个完全不同的问题。

答案 4 :(得分:0)

`    function accountDetailsResponse(response) {
        console.log (JSON.stringify(response));//logs the string to console
        console.log(response.displayName);
        document.getElementById("Coins").innerHTML = 
        (response.currencies.Coins);`
汉斯,再次感谢。你的代码得到了我所需要的,精确的,你精明地切断了我笨拙的初学者问题的措辞。

所以这段代码很奇怪。帐户详细信息是一个广泛的字符串,其中包含纬度,经度以及我服务器上每个可以想到的字符特征。目标变量"硬币"实际上存在于两个类别中。 "货币"和#34;保留货币。"两者都有不同的价值。出于某种原因,代码隔离了具有未定义值的代码。所以我必须具体说明(response.currencies.Coins)来指定我想要的那个。它立即弹出我在html元素上寻找的值。我现在看到没有人可以帮助我,因为我没有包括我的整个字符串。所以"未定义"结果将无法诊断。

我在这里学到的重要教训......如果没有细节,请不要去专业人士。字符串可以有......" sub"字符串。或者其他什么。