我有一个小型 Ruby on Rails 服务器,它回复来自 Objective-c 客户端的请求。由于我需要从不同的表中累积数据,我决定将其放入字典(在 rails 中散列),然后将其作为 JSON 发送,并在客户端上使用 iOS 5 JSON 框架来重建字典。以下是我的代码中更简单的部分:
format.json { render :json => {:message_type => 'getBaseOpReply',
:base_longitude => @operator.base_longitude,
:base_latitude => @operator.base_latitude} }
在客户端上,我使用连接数据委托,connection:didReceiveData
我在其中累积数据,responseData
并在其中connectionDidFinishLoading
做:
NSError *error;
NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&error];
我收到以下错误:
ErrorDomain=NSCocoaErrorDomain Code=3840 ... JSON text did not start with array or object
等。
我尝试了所有不同的选项,但JSONObjectWithData:options:error:
我得到了相同的错误,除非我使用NSJSONReadingAllowFragments
. Invalid value
然后在字符 0 周围的说法有点不同。
我认为我的服务器没有正确构建字典,但请帮助我。提前致谢!