【问题标题】:Why is my json rendered as string? How do i parse the string contents?为什么我的 json 呈现为字符串?我如何解析字符串内容?
【发布时间】:2010-07-26 05:06:18
【问题描述】:

我正在使用 plupload 执行分段文件上传。成功时,它返回存储的服务器数据。但我收到的是一个字符串,而不是一个包含我所有属性的对象。

这是我的控制器操作:

  def upload
      @user = User.create! :name => params[:photo_name], :swf_uploaded_data => params[:photo]
        respond_to do |format|
          format.js { render :json => @user) }
        end
  end

在我的 Javascript 中,我有一个返回服务器响应的函数,其要点是:

  function(serverResponse) {
    alert(serverResponse);
  });

serverResponse 的输出恰好是一个字符串!! (例如:

"{'user': {'name':'photo','link':'http://www.google.com/favicon.ico'}}")

现在我无法通过 serverResponse.user.link 访问链接,因为它不是序列化输出。我该如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails json


    【解决方案1】:

    解析 JSON。有关比 eval 更安全的方法,请参阅 http://www.json.org/js.html

    特别是var finalObject = JSON.parse(jsonString);

    【讨论】:

    • 酷。谢谢你的回答。 :)
    • 我刚刚发现jquery中有一个:$.parseJSON。更适合跨浏览器 JSON 解析。意识到 Mobile Safari 不支持 JSON.parse。
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多