【问题标题】:how do JSON help a web developer?JSON 如何帮助 Web 开发人员?
【发布时间】:2010-12-10 16:29:00
【问题描述】:

JSON 如何帮助 Web 开发人员?它比传统方法更好吗?如是 ;那么以哪种方式呢?我在哪里可以正确学习 JSON?什么类型的项目/场景最适合 JSON ?它适用于 ruby​​-on-rails 吗?我可以用它来处理 MongoDB 吗???

【问题讨论】:

    标签: ruby-on-rails json web-applications mongodb


    【解决方案1】:

    我喜欢 JSON。我认为它是一种非常好的格式,不仅因为它是人类可读且易于被机器解释的,而且它也是网络语言 JavaScript 使用的原生符号。

    JSON 如何帮助 Web 开发人员?

    嗯,对于习惯了 JavaScript 的开发人员来说,这很有帮助,因为没有额外的学习曲线。对于其他人来说,它以一种简单明了的方式提供了帮助,并且有大量的库可以使用它、文档和社区支持。

    它比传统方法更好吗?

    从性能的角度来看,确实如此。您可以谷歌搜索“JSON 性能”以获取有关该主题的更多信息。它也更好,因为它更简单,更易于人类阅读。

    我在哪里可以正确学习 JSON?

    一个好的起点是标准所在的位置:http://json.org

    我可以用它来处理 MongoDB 吗?

    是的,您可以,因为 MongoDB 管理类似 JSON 的文档集合。

    【讨论】:

      【解决方案2】:

      这取决于你想如何使用它。您的应用是网络服务还是网站?如果它是一个网站,那么 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,在这种情况下,您的网络服务和您的网站不会有太大的不同 :)

      【讨论】:

        猜你喜欢
        • 2011-04-11
        • 2023-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多