【发布时间】:2014-11-28 10:26:42
【问题描述】:
我正在尝试将包含数组的 JSON 消息发布到我的服务器。但是,服务器无法识别数组中的元素。在检查了问题后,我发现了我认为的问题。
AFNetworking 代码:
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:kServiceBaseUrl]];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager PUT:@"/api/createRubaway"
parameters:myDictionary
success:^(NSURLSessionDataTask *task, NSDictionary *responseObject)
{/* stuff */}
failure:^(NSURLSessionDataTask *task, NSError *error)
{/* stuff */}
];
LLDB 打印出“myDictionary”:
{
description = description;
title = title;
transitions = (
{
idx = 0;
resource = {
data = testdata;
name = transition;
type = image;
};
threshold = "0.75";
type = rubaway;
},
{
idx = 1;
resource = {
data = testdata;
name = transition;
type = image;
};
threshold = "0.75";
type = rubaway;
}
);
}
AFNetworking 序列化请求后。如果我从 NSMutableRequest 中打印出 HTTPBody,这就是它正在发送的内容(这是正在发送到我的服务器的内容):
description=description&title=title&transitions[][idx]=0&
transitions[][resource][data]=testdata&
transitions[][resource][name]=transition&
transitions[][resource][type]=image&
transitions[][threshold]=0.75&
transitions[][type]=rubaway&transitions[][idx]=1&
transitions[][resource][data]=testdata&
transitions[][resource][name]=transition&
transitions[][resource][type]=image&transitions[][threshold]=0.75&
transitions[][type]=rubaway
上述格式是否正确。作为我的服务器(Node.js - BodyParser),我相信期待它采用这种格式https://stackoverflow.com/a/18402556/623750
有没有办法改变 JSON 序列化器的格式?或者有没有办法将 BodyParser 配置为接受上述格式?
谢谢, 瑞恩
【问题讨论】:
-
一个问题,在nodejs代码中;你在文件中添加了什么 require('') ?我面临同样的问题,req.body 未被识别为数组。
标签: objective-c json node.js http afnetworking-2