简体   繁体   English

如何使用 JavaScript 解析 Ruby JSON 字符串

[英]How can I use JavaScript to parse Ruby JSON string

I'm trying to get the JSON object from a JSON outputted string from a Rails app.我正在尝试从 Rails 应用程序的 JSON 输出字符串中获取 JSON object。 Currently in JavaScript I'm doing:目前在 JavaScript 我正在做:

data = "<%= @chromosomes.html_safe %>";

However, since there are quotes at the beginning and end of the JSON object, it is not being rendered as a JSON object. Instead it is doing something like但是,由于在 JSON object 的开头和结尾都有引号,因此它不会呈现为 JSON object。相反,它正在做类似的事情

 data = "[{"name":"YHet","organism_id":"4ea9b90e859723d3f7000037"}]"

Is there a way that I can remove the beginning and end quotes so that the object is treated as an array instead of a string?有没有一种方法可以删除开始和结束引号,以便将 object 视为数组而不是字符串?

Why don't you do:你为什么不这样做:

data = <%= @chromosomes.html_safe %>;

Sidenote:边注:

I hope you do something like:我希望你做这样的事情:

@chromosomes = [{ name: "YHet", organism_id: "foo" }].to_json

If you are using jQuery you can do the following如果您使用的是 jQuery,您可以执行以下操作

var data = jQuery.parseJSON('[{"name":"YHet","organism_id":"4ea9b90e859723d3f7000037"}]');

Use JSON object that is included in most of browsers or if you are using jQuery use $.jsonParse method that try to use JSON object if defined otherwise parse using eval or some safer way.使用大多数浏览器中包含的JSON object,或者如果您使用的是 jQuery,请使用$.jsonParse方法,该方法尝试使用JSON object,否则使用eval或一些更安全的方式进行解析。

On controller controller

@my_var = MyObj.find_by_id(4).to_json

On page in haml way.以 haml 方式在页面上。

var my_json = $.parseJSON("#{j @my_var}"); //used JQuery to parser JSON string

Use eval:使用评估:

var dataObject = eval('(' + dataString + ')'); var dataObject = eval('(' + dataString + ')');

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何正确使用javascript函数JSON.parse()? - How can I properly use the javascript function JSON.parse()? 使用 Javascript,如何解析包含 JSON 字符串的 JSON 字符串? - Using Javascript, how can I parse a JSON string containing a JSON string? 如何在javascript中解析此JSON对象? - How can I parse this JSON Object in javascript? 如何在可能是简单字符串或字符串对象的字符串对象上安全地使用JSON.parse? - How can I safely use JSON.parse on a string object that might be a simple string or a string object? 如何在Javascript中解析JSON字符串? - How to parse a JSON string in Javascript? 我可以将 JavaScript JSON.parse 与外部数组一起使用吗? - Can I use JavaScript JSON.parse with an external array? 我如何轻松地使用JavaScript函数从json字符串中解析出特定对象 - How can I easily have a javascript function to parse out specific objects from json string 如何在Javascript中解析/使用此JSON - How to parse/use this JSON in Javascript 如何从我的 Ruby on Rails API 解析这些哈希转换为字符串,以便它可以作为 object 在 Z9E1713B69D1D24ADA9 中访问 - How can I parse these hashes turned string, from my Ruby on Rails API so that it's accessible as an object in Javascript? 如何使用JavaScript来解析从Ruby on Rails控制器返回的多个JSON对象 - How to use JavaScript to parse multiple JSON objects returned from Ruby on Rails controller
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM