Ошибка анализа JSON в RubyMotion
1 dwhite [2014-07-06 07:18:00]
Я пытаюсь разобрать следующий JSON:
"{\"name\":\"Damien\",\"message\":[\"Hi\"]}"
Тем не менее, я пробовал собственный парсинг и Bubblewrap только для того, чтобы получить следующую ошибку:
-[__NSCFString bytes]: unrecognized selector sent to instance 0x98bde40 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString bytes]: unrecognized selector sent to instance 0x98bde40'
Я пробовал:
e = Pointer.new(:object)
json_hash = NSJSONSerialization.JSONObjectWithData(json_string, options:0, error: e)
а также
json_hash = BW::JSON.parse(json_string)
Оба дают ту же ошибку. Что я делаю не так?
json ios rubymotion
1 ответ
1 Решение Watson [2014-07-06 09:36:00]
'JSONObjectWithData: options: error:' требуется объект NSData вместо String. Вы можете конвертировать из String в NSData, используя String # to_data
json_string = "{\"name\":\"Damien\",\"message\":[\"Hi\"]}"
e = Pointer.new(:object)
json_hash = NSJSONSerialization.JSONObjectWithData(json_string.to_data, options:0, error: e)