字符串化JSON有多余的双引号

时间:2018-08-15 21:43:38

标签: javascript jquery html json stringify

我正在建立一个天气预报网站,查询API会返回一个纯JSON响应。但是,当我对数据进行字符串化并将其附加到元素上以放置在网页上时,它具有双引号,请参见此处:

see here

我如何能够从字符串化的JSON文本中删除双引号,以使其像普通网页一样显示?我的代码如下:

$.get("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22canberra%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys",
  function(data) {
    $("body")
      .append("Count: " + JSON.stringify(data.query.count)); 
    $("#heading") 	
      .append(JSON.stringify(data.query.results.channel.title));
  },
"json");
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Yahoo Weather for Canberra</title>
    <meta charset="utf-8">
    <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
  </head>
  <body>
    <h1 id="heading"></h1>
  </body>
</html>

所有帮助将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:3)

不要对不是对象的事物进行分类。只需使用它们即可。

$.get("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22canberra%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys",
function(data) {
  $(document.body).append("Count: " + data.query.count); 
  $("#heading").append(data.query.results.channel.title);
}, "json");
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Yahoo Weather for Canberra</title>
    <meta charset="utf-8">
    <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
  </head>
  <body>
    <h1 id="heading"></h1>
  </body>
</html>

答案 1 :(得分:0)

更改

let spriteKit = SKScene(fileNamed: "spriteKitFile") if let label = spriteKit?.childNode(withName: "name of the file") as? SKLabelNode { label.text = "Any string" }

.append(JSON.stringify(data.query.results.channel.title));

因为data.query.results.channel.title已经是一个字符串。

.append(data.query.results.channel.title); //字符串

答案 2 :(得分:0)

JSON.stringify提供JSON对象的字符串表示形式。

您不需要使用原始数据类型对值进行字符串化。

所以您应该使用的代码是:

$.get("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22canberra%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys", function(data) {
     $("body").append("Count: " + data.query.count); //  2pm
     $("#heading").append( data.query.results.channel.title);
}, "json");