On Nov 12, 2013, at 7:03 PM, mark edwards [email protected] wrote:
tamouse - thank you very much for taking the time to answer my question.
it looks even simpler and cleaner in ruby !
we needed the jScript command “JSON.parse” because of quotes being
passed and other characters inside the json-string that might interfere
with the string loading properly.
But in this case, the JSON object data is right in the code, no need to
quote it, then parse it client side if you just write it directly into
the source youre sending.
Heres a tiny example, based on sinatra:
get ‘/testjson’ do ||
erb :testjson, locals: {this_hash: {a: [1,2,3], “BBB” => “Lorem
ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enimad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.”, “classic” => [“a fine thing”, “I do now”,
“blueberry”, :pudding, 3.1415]}}
end
Then the erb view testjson.erb contains:
Testing sending JSON directly
and this is the source html in the browser:
Testing sending JSON directly
So, no extra quoting, parsing, etc.
Putting it in a string, then parsing it just seems like extra work. Just
insert the JSON object in directly, and assign it.
i have my users click on a link, then the html is auto-generated via
jQuery and that code is used in a pop-up window. the overall page size
is probably only 10% of what it takes when all the html is generated
from the server.
Its certainly valid for a lot of interactions.