以 json 格式创建列表
Creating a list in json format
我想显示 JSON api 的 "pretty" 格式。我大部分时间都在使用 Active Model Serializers。我了解到我可以使用 JSON.pretty_generate()
方法 "prettify" 我的 JSON 显示。
我已经使用虚拟数据对其进行了测试,并且它在浏览器上运行:
def index
#@users = User.all
my_object = { :array => [1, 2, 3, { :sample => "hash"} ], :foo => "bar" }
render json: JSON.pretty_generate(my_object)
end
本地主机:
#=> {
"array": [
1,
2,
3,
{
"sample": "hash"
}
],
"foo": "bar"
}
我的目标是在索引上显示用户信息列表。现在它没有缩进和换行符......好吧,它看起来不漂亮:
用户控制器:
def index
@users = User.all
render json: @users, each_serializer: UserSerializer, adapter: :json
UserSerializer)
end
本地主机:
{"users":[{"id":1,"username":"Iggy1","items":[{"id":1,"list_id":1,"name":"Wash dishes","completed":true},{"id":7,"list_id":1,"name":"Finish this assignment","completed":false}],"lists":[{"id":1,"name":"Important!","user_id":1,"permission":"private"},{"id":8,"name":"Bloc's obligatory list number two","user_id":1,"permission":"private"},{"id":14,"name":"Mandatory list one","user_id":1,"permission":"private"},{"id":15,"name":null,"use...
经过反复试验,我发现我需要让@users 成为json 的列表。证明 - 当我 运行 这个:
用户控制器:
def index
@users = User.all
render json: JSON.pretty_generate(@users), each_serializer: UserSerializer
end
localhost (显示错误消息)
#=> only generation of JSON objects or arrays allowed
如何在用户控制器索引的 User.all
上应用 JSON.pretty_generate()
?
您可以在 json
中转换您的对象,例如:
render json: JSON.pretty_generate(@users.as_json), each_serializer: UserSerializer
希望对你有所帮助
将散列转换为 json:
JSON.pretty_generate(@users.to_json)
首先将 @users
转换为 to_json
:
def index
@users = User.all
render json: JSON.pretty_generate(@users.to_json), each_serializer: UserSerializer
end
我想显示 JSON api 的 "pretty" 格式。我大部分时间都在使用 Active Model Serializers。我了解到我可以使用 JSON.pretty_generate()
方法 "prettify" 我的 JSON 显示。
我已经使用虚拟数据对其进行了测试,并且它在浏览器上运行:
def index
#@users = User.all
my_object = { :array => [1, 2, 3, { :sample => "hash"} ], :foo => "bar" }
render json: JSON.pretty_generate(my_object)
end
本地主机:
#=> {
"array": [
1,
2,
3,
{
"sample": "hash"
}
],
"foo": "bar"
}
我的目标是在索引上显示用户信息列表。现在它没有缩进和换行符......好吧,它看起来不漂亮:
用户控制器:
def index
@users = User.all
render json: @users, each_serializer: UserSerializer, adapter: :json
UserSerializer)
end
本地主机:
{"users":[{"id":1,"username":"Iggy1","items":[{"id":1,"list_id":1,"name":"Wash dishes","completed":true},{"id":7,"list_id":1,"name":"Finish this assignment","completed":false}],"lists":[{"id":1,"name":"Important!","user_id":1,"permission":"private"},{"id":8,"name":"Bloc's obligatory list number two","user_id":1,"permission":"private"},{"id":14,"name":"Mandatory list one","user_id":1,"permission":"private"},{"id":15,"name":null,"use...
经过反复试验,我发现我需要让@users 成为json 的列表。证明 - 当我 运行 这个:
用户控制器:
def index
@users = User.all
render json: JSON.pretty_generate(@users), each_serializer: UserSerializer
end
localhost (显示错误消息)
#=> only generation of JSON objects or arrays allowed
如何在用户控制器索引的 User.all
上应用 JSON.pretty_generate()
?
您可以在 json
中转换您的对象,例如:
render json: JSON.pretty_generate(@users.as_json), each_serializer: UserSerializer
希望对你有所帮助
将散列转换为 json:
JSON.pretty_generate(@users.to_json)
首先将 @users
转换为 to_json
:
def index
@users = User.all
render json: JSON.pretty_generate(@users.to_json), each_serializer: UserSerializer
end