this is an easy implementation of "tuple to JSON"
并不是所有的东西都能转换为一个JSON字符串。例如,方法就不能转换为JSON,不过所有的基本类型,比如数字、字符串和数组都可以转换。下面创建一个对象,然后把它转换为一个串。
1 function Movie(title, genre, rating, showtimes) { 2 this.title = title; 3 this.genre = genre; 4 this.rating = rating; 5 this.showtimes = showtimes; 6 this.getNextShowing = function() { 7 var now = new Date().getTime(); 8 for (var i = 0; i < this.showtimes.length; i++) { 9 var showtime = getTimeFromString(this.showtimes[i]);10 if ((showtime - now) > 0) {11 return "Next showing of " + this.title + " is " + this.showtimes[i];12 }13 }14 return null;15 };16 }17 18 19 var plan9Movie = new Movie("Plan 9 Outer Space", "Cult Classic", 2, 20 ["3:00pm", "7:00pm", "11:00pm"]);
然后,得到对象后,我们就用JSON.stringify方法把它转换为JSON串格式。下面来看这是如何做到的。
var jsonString = JSON.stringify(plan9Movie);alert(jsonString);
我们能看到,对话框弹出一个东西,得到了一个表示Movie对象的JSON串。
现在可以对这个字符串做任何处理,比如通过http把它发送到一个服务器。另外还可以从另外一个服务器接受一个JSON串。
怎么把JSON串传换成一个对象呢?
需要用JSON.parse 方法,是JSON.stringify的姊妹方法。
这里只需要将上面的代码加上这些即可。(去掉那个 alert(jsonString) )
var jsonMovieObject = JSON.parse(jsonString);alert("JSON Movie is "+ jsonMovieObject.title);
用JSON.parse(jsonString) 返回一个对象后,就可以对对象来操作了。非常好用。
jsonMovieObject.title 这里title 就是原来JSON串的键名。
留下一个比较简单的好项目文档,twitter的搜索功能。用json实现通讯。
需要FQ。