我正在从Rails应用程序生成json,并使用format.json和to_json方法过滤字段。它工作正常,除了json没有对象名称。这是Rails代码:
format.json { render :json => @text.to_json(:only =>[:id,:language,:text_name,:text_type,:text_content])}
json输出的一部分:
[{"id":5,"language":"TR","text_name":"2.01 AY\u015eE'DEN MEKTUP","text_type":null},{"id":6,"language":"TR","text_name":"2.02 Ruya","text_type":null},{"id":7.... etc
在我想的时候,我会收到一些表明对象名称的东西(例如:“文本”)。更多的是:
{"texts:"[{"id":5,"language":"TR","text_name":"2.01 AY\u015eE'DEN MEKTUP","text_type":null},{"id":6,"language":"TR","text_name":"2.02 Ruya","text_type":null},{"id":7.... etc
答案 0 :(得分:4)
以下渲染线将产生您正在寻找的结果:
format.json { render :json => { :texts => @text.to_json(:only =>[:id,:language,:text_name,:text_type,:text_content])}}
答案 1 :(得分:3)
另一种选择是启用全局设置:
ActiveRecord::Base.include_root_in_json = true