簡體   English   中英

如何遍歷JSON對象中的嵌套數組(Rails)

[英]How to iterate through a nested array in a JSON object (Rails)

如何遍歷嵌套在JSON對象中的值的數組? 這將在.html.erb文件中呈現。

這導致在視圖中顯示實際數組。

<% @data.each do |y| %>
    <%= y["name"] %>
    <%= y["location"] %>

    <%= y["cars"] %>

    <%= y["married"] %>
<% end %>

這將導致undefined method 'each' for nil:NilClassundefined method 'each' for nil:NilClass

<% @data.each do |y| %>
    <%= y["name"] %>
    <%= y["location"] %>

    <% y["cars"].each do |z| %>
        <%= z["make"] %>
        <%= z["value"] %>
    <% end %>

    <%= y["married"] %>
<% end %>

JSON格式

[
    {
        "name":"Jim",
        "location":"London",
        "cars": [
                    {
                        "make":"Audi",
                        "value":"100k"
                    }
            ],
        "married": "Y"
    },
    {
        "name":"Sarah",
        "location":"New York",
        "cars": [
                    {
                        "make":"Ferrari",
                        "value":"200k"
                    },
                    {
                        "make":"Lambo",
                        "value":"350k"
                    } 
            ],
        "married": "Y"
    },
]

以前有人在Rails模板中使用JSON成功實現此功能嗎?

您之前在Controller / service中使用JSON.parse解析過JSON嗎? 我問,因為當您在數組中有空y["cars"]時,這是一個奇怪的情況...在某些情況下...

如果是,則:cars in的stub nil值,如果為空且帶有空數組[]

<%- (y["cars"] || []).each do |z| %>
    <%= z["make"] %>
    <%= z["value"] %>
<%- end %>

並用裝飾器做得更好(請參見draper gem)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM