mochijson2 или mochijson

Думаю, эта статья может быть полезна для вас - Rails to_json или as_json? Джонатана Джулиана.

Основная мысль заключается в том, что вам следует избегать использования to_json в контроллерах. Намного более гибко определить метод as_json в вашей модели.

Например:

В вашей модели Thing

def as_json(options={})
  super(:include => :photos)
end

А затем вы можете написать в свой контроллер просто

render :json => @things

7
задан legoscia 2 February 2010 в 14:06
поделиться

1 ответ

Я предполагаю, что решение в mochijson состоит в том, что он обрабатывает двоичный файл как строку, а список целых чисел - как список целых чисел. (Не?) К счастью, строки в Erlang на самом деле представляют собой список целых чисел.

В результате ваш «foo», или, другими словами, ваш [102,111,111] переводится в текст, представляющий «[102,111,111]». Во втором случае ваша строка << "foo" >> становится "foo"

Что касается второго вопроса, похоже, что mochijson всегда возвращает строку, тогда как mochijson2 возвращает тип iodata . Iodata - это в основном рекурсивный список строк, двоичных файлов и iodatas (фактически, iolists). Если вы намереваетесь отправить результат только «по сети», более эффективно просто вложить их в список, чем преобразовывать в плоскую строку.

7
ответ дан 7 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: