Hej,
jak przekonwertowac taki STRING
"{\"startDateTime\":\"2016-02-08T00:00Z\",\"timeZone\":{\"text\":\"(GMT) Monrovia, Reykjavik\",\"selected\":true,\"offset\":\"+00:00\",\"name\":\"Greenwich Standard Time\"},\"recurrencePattern\":\"FREQ=MINUTELY;INTERVAL=1;UNTIL=20160211\"}"
na HASH:
{startDateTime: '2016-02-08T00:00Z', timezone: { text: 'GMT) Monrovia, Reykjavik' } ...}
Uzycie JSON.parse(string, symbolize_names: true) zwroci:
{:startDateTime=>"2016-02-08T00:00Z", :timeZone=>{:text=>"(GMT) Monrovia, Reykjavik", :selected=>true, :offset=>"+00:00", :name=>"Greenwich Standard Time"}, :recurrencePattern=>"FREQ=MINUTELY;INTERVAL=1;UNTIL=20160211"}
Z gory dziekuje za pomoc
MyLord
February 8, 2016, 9:13pm
2
Ten zapis, którego oczekujesz, i ten który dostajesz są równoznaczne. Po prostu konsola wyplówa CI stary sposób zapisu hasha.
Wiem, ze sa jednoznaczne, niestety musze uzyc format Hashu ktory podalem i ktory chcialbym uzyskac po konwersji w funkcji Javascript ktora akceptuje taki format. Przy drugim formacie funkcja ta nie dziala.
MyLord
February 8, 2016, 9:59pm
4
Coś mi to wygląda na rozwiązanie bardzo nie rails-way.
Możesz wkleić kawałek kodu?
Lypa
February 9, 2016, 7:17am
5
A po co w ogóle parsujesz ten string w Rubym, jak i tak ślesz to do klienta, który zapewne oczekuje JSON-a?
Mam wrażenie, że dostajesz po prostu json jako string i chcesz mieć z tego hash. Spróbuj użyć metody JSON.parse
.
require "json"
str = "{\"startDateTime\":\"2016-02-08T00:00Z\",\"timeZone\":{\"text\":\"(GMT) Monrovia, Reykjavik\",\"selected\":true,\"offset\":\"+00:00\",\"name\":\"Greenwich Standard Time\"},\"recurrencePattern\":\"FREQ=MINUTELY;INTERVAL=1;UNTIL=20160211\"}"
puts JSON.parse(str)
{"startDateTime"=>"2016-02-08T00:00Z", "timeZone"=>{"text"=>"(GMT) Monrovia, Reykjavik", "selected"=>true, "offset"=>"+00:00", "name"=>"Greenwich Standard Time"}, "recurrencePattern"=>"FREQ=MINUTELY;INTERVAL=1;UNTIL=20160211"}
Dzieki,
jak slusznie zauwazyl Lypa nie jest konieczna konwersja. Przesylam to jako string bez parsowania i bez problemu funkca Javascript dziala.
Dzieki za pomoc,
Pozdrawiam