2017-02-14 79 views
-1

这是我的服务器响应:转换JSON对象的字符串没有JSON

{"names":["Kreisler","Kreisler","Kreisler"]} . 

如果我在JavaScript中使用上述JSON响应,我得到一个“对象”数据类型

[object Object]。我不想获取Object类型,而是想以字符串格式获取JSON响应。

注:我没有JSON JS从我html.so我将无法使用

JSON.stringify({"names":["Kreisler","Kreisler","Kreisler"]}). 

还是让我知道我可以安装JSON在这里。

<!DOCTYPE html> 
 
<html> 
 

 
    #<button type="button" onclick="myFunction()">Try it</button> 
 

 
    <script> 
 
    function myFunction() { 
 

 
     ss = {"names":["Kreisler","Kreisler","Kreisler"]} 
 

 
     document.getElementById("demo").innerHTML = ss; 
 
    } 
 
    </script> 
 

 

 
</html>

+2

这是令人困惑的,为什么你会想要一个字符串而不是javascript中的对象,通常是相反的呢? – adeneo

+0

为什么你不能只使用_JSON.stringify_?你的意思是说你的HTML中没有JSON js? –

+0

如果是服务器响应,你可以试试$ .param(jsonObj) – Gautam

回答

0

<!DOCTYPE html> 
 
<html> 
 

 
    #<button type="button" onclick="myFunction()">Try it</button></br> 
 
    <div id="demo"></div> 
 

 
    <script> 
 
    function myFunction() { 
 

 
     var ss = JSON.stringify({"names":["Kreisler","Kreisler","Kreisler"]}); 
 

 
     document.getElementById("demo").innerHTML = ss; 
 
    } 
 
    </script> 
 

 

 
</html>

0

有解决你的问题几种可能的方式。第一个是简单地检查你是如何向服务器发出请求的。有机会,你可以停止解析对JSON的响应,而是保持一个字符串。

如果您不能控制该部分代码,则必须使用stringify JSON对象。你说你没有JSON.stringify在可疑的浏览器中可用。 window.JSON是全球性的,根本不需要“安装”。按照MDN,window.JSON可用所有的方式回到IE 8:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON

如果您使用定制的浏览器实现,第一个选项可能是你最好。