浏览 771 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-05-14
各位好。
有一字符串。是从客户端提交的。是通过JavaScript组合而成的: [{:name=>"xqstation",:page=>"xxxxx",:qq=>"xxxxx"},{:name=>"who",:page=>"hhhh",:qq=>"mmmm"}, ....] 可以看出,这个是又数组中包含hash的字符串。 我需要在rails中接收并处理这些数据。 外围的数组是用来定位顺序的,之后要保存到数据库。hash就相当于对象了。 有什么方法可以直接转化吗? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-05-14
使用eval
|
|
| 返回顶楼 | |
|
最后更新时间:2008-05-14
典型的json使用场景。
把javascript对象拼装成字符串,用json for javascript库。 在ruby端把字符串解包成ruby数据结构,用json for ruby库。 http://www.json.org/ http://www.json.org/js.html http://json.rubyforge.org/ |
|
| 返回顶楼 | |
|
最后更新时间:2008-05-14
呃。到底用哪个?
我没试。不过领导另外要我组成一个格式的字符串。 像这样: - name: xqstation home: xxxx qq: xxxx - name: mmm home: mmmm qq: mmmm 说是把ruby对象存到数据库就是这个格式。。谢谢两位了。 收藏本帖 |
|
| 返回顶楼 | |
|
最后更新时间:2008-05-14
xqstation 写道 呃。到底用哪个?
我没试。不过领导另外要我组成一个格式的字符串。 像这样: - name: xqstation home: xxxx qq: xxxx - name: mmm home: mmmm qq: mmmm 说是把ruby对象存到数据库就是这个格式。。谢谢两位了。 收藏本帖 JSON简介: json就是用string表达javascript数据结构的一个规则,与你自己拼装的字符串格式基本一样。 也可以理解成文本型的序列化。 对于javascript端,可以引用一个javascript文件: http://www.json.org/json2.js 它提供了两个方法: 1. 将javascript对象转换成string JSON.stringify(value); //value是一个javascript对象,返回值是个string。 2. 将string转换成javascript对象 JSON.parse(text); //text是个string,返回值是个javascript对象。 对于ruby端,先安装json的gem: gem install json 它同样提供两个方法,用于ruby对象和string之间的互相转换: ruby_object.to_json #返回string JSON.parse(text) #传入string返回ruby对象 在使用的文件中 require 'json'。 -- 你现在说的string格式,应该是yaml的吧? 如果把整个串存储于数据库的一个字段中,以后再想用SQL进行细致的查询就不容易了。 这也是rails那本书里讲到的,serialize型的字段不推荐滥用。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-05-14
对。就是YAML。
我也不大明白为什么要把一大佗东西全塞在一个字段里面。 那个JSON在Java里也有哦。好象用过。谢谢你啦。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-05-15
ActiveSupport::JSON.decode params[:urdata]
然后就得到一个包含了你的model的数组 |
|
| 返回顶楼 | |
|
最后更新时间:2008-05-15
ActiveSupport::JSON.decode params[:urdata]
然后就得到一个包含了你的model的数组 晕,点了两次提交后就重复提交了,JavaEye好像没做限制的?也没办法删除自己发重复的回帖。 |
|
| 返回顶楼 | |







