2015-07-27 3 views
2

Учитывая У меня есть JSON Array такие как:Clojurescript перебирать JSON массив

[ { "email": "[email protected]" }, { "email": "[email protected]" }, { "email": "[email protected]" } ] 

В Clojure сценарий, как я могу перебирать массив и извлекать значение каждого email тега.

в clojure я следующее:

(doseq [record (method that gets json data) true)] 
    (do-something (:email record)) 
) 

, который работает, как ожидалось, однако в Clojurescript если я сделать то же самое вместо возвращения ожидаемого результата, он просто возвращает каждый символ в строке JSON, как на его самостоятельно, например:

[ 
{ 
" 
... 

Alls Я хочу это способ вернуть значение каждого элемента email и передать их функции.

+2

Это, вероятно, потому, что в clojurescript вы передаете в string, которая также является последовательностью, и когда вы перебираете ее, она возвращает char char. Возможно, если вы разместите здесь свой точный код, кто-то может дать вам точный ответ. В настоящее время ваш код даже не компилируется. –

ответ

1

Если у вас есть объект JSON, а не строка, функция, которую вы ищете, это js->clj [1]. После использования вы можете использовать обычный ClojureScript для управления. Если JSON сериализации, вы должны использовать средства Браузеры, чтобы прочитать его первым, как и в JSON.parse() [2]

[1] https://crossclj.info/fun/cljs.core.cljs/js-%3Eclj.htm(https://crossclj.info/fun/cljs.core.cljs/js-%3Eclj.html [2] https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

Смежные вопросы