我正在尝试使用REST调用从API中使用数据。 我成功地从API获取数据: 您可以在jsfiddle上查看演示:http://jsfiddle.net/zTXyq/33/
现在,我正在尝试执行此工作以从此API获取不同的资源 我正在读这两篇文章: - http://www.jquery4u.com/demos/ajax/ - http://welcome.totheinter.net/tutorials/model-view-controller-in-jquery/
我想知道为什么我们可以在HTML页面中显示数据时使用JSON.stringify()
。
为什么我们使用所谓的'class'/'model'来使用json解析数据?
问候,
答案 0 :(得分:2)
JSON是一种数据结构,这意味着它用于传输变量,数组和内容。
在html代码中发送变量会很愚蠢 - 这就是我们使用JSON的原因。
JSON.stringify()
是一个实用程序函数,当您想要将某个变量打印到控制台时,它最常用于调试,但也有一些其他用途。
console.log( JSON.stringify(myObject) );
该函数的作用是,它需要一个对象,数组或其他任何东西,并生成一个可读的字符串,而只是使用这样的东西↓↓只会给你[对象]。
console.log( myObject );
如果您真正想要的是发送一些HTML,那么您根本不需要使用JSON,只需使用jQuery.load()
或类似的东西。
答案 1 :(得分:0)
我希望你会同意在javascript代码中JSON对象很好用且很容易使用,例如
var jsonObj { "p1": "1", "p2": "2"};
if ( jsonObj.p1 == '1' ) { // do something }
但是如果我们想将该对象传递给非javascript代码,例如PHP脚本,我们就无法做到。 所以stringify发挥作用,我们将我们的JSON对象字符串化,即将整个对象转换为字符串,现在我们可以将它传递给任何能够将其转换回有用的东西。所以PHP有json_decode()函数将字符串化的json对象/数组转换为PHP对象/数组,因此它再次变得有用。 现在,当我们想要将数据从PHP传递回javascript时,我们使用json_encode()将PHP对象/数组转换为json字符串,现在我们可以将对象/数组作为字符串传递回javascript,以便使用JSON.parse ()on on它可以将它转换回可用的对象/数组。
总而言之,stringify允许我们将对象/数组的特定于语言的格式转换为通用的格式,即字符串。因此,任何提供将此字符串格式转换为对象/数组的特定语言格式的方法的语言都可以使用此数据,当然也可以通过字符串格式再次返回。