Hi again Is there a way to pass my json string to a table in template?
Assuming you are using phoenix, would this work (as a starting point)?
# in your controller
def some_action(conn, params) do
# ...
render(conn, "some_template.html", json: json) # json is a string
end
# in your template some_template.html.eex
<pre>
<%= @json %>
</pre>
I was able to display the json string in template. What I want to do is that pass my json data and view it in a table in template. I have many fields and rows from my json.
Here’s my example json data. So assuming I’ll have a payor column, revenue source column, and transaction details column in my template.
{
"Table": [
{
"RECID": 1,
"PAYOR": "ASMSI",
"REVENUESOURCE": "NEW MEMBER",
"TRANSACTION_DETAILS": "Dependent",
"TRANS_COUNT": 45.00,
"RATE": 112.0,
"TOTAL": 5040.0,
"VAT": 0.00,
"VATABLE": "N",
"TOTAL_AMOUNT": 5040.0,
"DATECREATED": "2018-02-01T00:33:30.26"
},
{
"RECID": 2,
"PAYOR": "ASMSI",
"REVENUESOURCE": "NEW MEMBER",
"TRANSACTION_DETAILS": "Extended Dependent",
"TRANS_COUNT": 8.00,
"RATE": 112.0,
"TOTAL": 896.0,
"VAT": 0.00,
"VATABLE": "N",
"TOTAL_AMOUNT": 896.0,
"DATECREATED": "2018-02-01T00:33:30.26"
},
{
"RECID": 3,
"PAYOR": "ASMSI",
"REVENUESOURCE": "NEW MEMBER",
"TRANSACTION_DETAILS": "Principal",
"TRANS_COUNT": 22.00,
"RATE": 560.0,
"TOTAL": 12320.0,
"VAT": 0.00,
"VATABLE": "N",
"TOTAL_AMOUNT": 12320.0,
"DATECREATED": "2018-02-01T00:33:30.26"
}
]
}
Pardon my ignorance for technical terms in Elixir
Then try
# in your controller
def some_action(conn, params) do
# ...
%{"Table" => table} = Posion,decode!(json)
render(conn, "some_template.html", table: table) # table is a map now
end
# in your template some_template.html.eex
<%= for row <- @table do %>
<tr><%= row["RECID"] %></tr>
<!-- etc -->
<% end %>
I tried your example and I got this error:
no match of right hand side value: %{"Table" => [%{"DATECREATED" => "2018-02-01T00:33:30.26", "PAYOR" => "ASMSI", "RATE" => 112.0, "RECID" => 1, "REVENUESOURCE" => "NEW MEMBER", "TOTAL" => 5040.0, "TOTAL_AMOUNT" => 5040.0, "TRANSACTION_DETAILS" => "Dependent", "TRANS_COUNT" => 45.0, "VAT" => 0.0, "VATABLE" => "N"}, %{"DATECREATED" => "2018-02-01T00:33:30.26", "PAYOR" => "ASMSI", "RATE" => 112.0, "RECID" => 2, "REVENUESOURCE" => "NEW MEMBER", "TOTAL" => 896.0, "TOTAL_AMOUNT" => 896.0, "TRANSACTION_DETAILS" => "Extended Dependent", "TRANS_COUNT" => 8.0, "VAT" => 0.0, "VATABLE" => "N"}, %{"DATECREATED" => "2018-02-01T00:33:30.26", "PAYOR" => "ASMSI", "RATE" => 560.0, "RECID" => 3, "REVENUESOURCE" => "NEW MEMBER", "TOTAL" => 12320.0, "TOTAL_AMOUNT" => 12320.0, "TRANSACTION_DETAILS" => "Principal", "TRANS_COUNT" => 22.0, "VAT" => 0.0, "VATABLE" => "N"}, %{"DATECREATED" => "2018-02-01T00:33:30.26", "PAYOR" => "ASMSI", "RATE" => 112.0, "RECID" => 4, "REVENUESOURCE" => "RENEWAL", "TOTAL" => 4.76e4, "TOTAL_AMOUNT" => 4.76e4, "TRANSACTION_DETAILS" => "Dependent", "TRANS_COUNT" => 425.0, "VAT" => 0.0, "VATABLE" => "N"}.....
Sorry my bad again. Just a syntax error . Thank you once again!