【发布时间】:2010-12-10 16:29:00
【问题描述】:
JSON 如何帮助 Web 开发人员?它比传统方法更好吗?如是 ;那么以哪种方式呢?我在哪里可以正确学习 JSON?什么类型的项目/场景最适合 JSON ?它适用于 ruby-on-rails 吗?我可以用它来处理 MongoDB 吗???
【问题讨论】:
标签: ruby-on-rails json web-applications mongodb
JSON 如何帮助 Web 开发人员?它比传统方法更好吗?如是 ;那么以哪种方式呢?我在哪里可以正确学习 JSON?什么类型的项目/场景最适合 JSON ?它适用于 ruby-on-rails 吗?我可以用它来处理 MongoDB 吗???
【问题讨论】:
标签: ruby-on-rails json web-applications mongodb
我喜欢 JSON。我认为它是一种非常好的格式,不仅因为它是人类可读且易于被机器解释的,而且它也是网络语言 JavaScript 使用的原生符号。
JSON 如何帮助 Web 开发人员?
嗯,对于习惯了 JavaScript 的开发人员来说,这很有帮助,因为没有额外的学习曲线。对于其他人来说,它以一种简单明了的方式提供了帮助,并且有大量的库可以使用它、文档和社区支持。
它比传统方法更好吗?
从性能的角度来看,确实如此。您可以谷歌搜索“JSON 性能”以获取有关该主题的更多信息。它也更好,因为它更简单,更易于人类阅读。
我在哪里可以正确学习 JSON?
一个好的起点是标准所在的位置:http://json.org
我可以用它来处理 MongoDB 吗?
是的,您可以,因为 MongoDB 管理类似 JSON 的文档集合。
【讨论】:
这取决于你想如何使用它。您的应用是网络服务还是网站?如果它是一个网站,那么 JSON 可能对您的 AJAX 调用最有用。它将返回一个非常易于使用的对象。考虑这个 JavaScript 对象:
var person = {
lastName: "Doe",
firstName: "John"
}
您可以非常轻松地与此对象进行交互。
person.lastName // "Doe"
person.firstName // "John"
这与控制器返回的 JSON 对象相同。
要在 Rails 应用程序中完成此操作:
// someFile.js
var success = function(response) {
// Iterate over the object's properties
for (var property in response) {
// Show the values of properties that were not inherited
if (response.hasOwnProperty(property)) {
alert(property);
}
}
$.get("/someController/some_action/" + some_id, success);
# SomeController.rb
def some_action
@obj = SomeClass.find(params[:some_id])
respond_to do |format|
format.js { render :json => @obj }
end
end
如果你在做一个网络服务,JSON 是一个很好的方式,但你的客户可能会请求不同的内容类型,所以我建议你支持 JSON 以及 xml 和任何其他内容类型他们可能会要求。有些客户甚至可能会请求 xhtml,在这种情况下,您的网络服务和您的网站不会有太大的不同 :)
【讨论】: