【问题标题】:JSON outputted as key with blank valueJSON 输出为具有空白值的键
【发布时间】:2014-10-13 06:15:22
【问题描述】:

所以我有一本字典,我正试图从 iOS 设备发送到 Node Hapi 服务器。

由于某种原因,我的请求负载将字典添加为具有空白值的键。 这是我的 iOS 代码

NSDictionary *userData = [User userToDictionary: newUserInfo];
NSData *userJSON = [NSJSONSerialization dataWithJSONObject: userData options: kNilOptions error: nil];

NSString *urlString = [NSString stringWithFormat: @"%@%@/addNewUser", kBaseURL, kUsers];

// This will set up the URL
NSURL *url = [NSURL URLWithString: urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: url];
[request setHTTPMethod: @"POST"];
[request addValue: @"application/json" forHTTPHeaderField: @"Content-Type"];

// This will set up the url session
NSURLSessionConfiguration* config = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration: config];

NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest: request fromData: userJSON completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

    if(error)
    {

    } else
    {

    }
}];

[uploadTask resume];

这是我的有效载荷

{ '{"userLastNameKey":"Kwon7","userEmailKey":"email7","userFirstNameKey":"Michael7","userUsernameKey":"username7","userPasswordKey":"password7"}': '' }

谁能帮我解决这个问题?我不想将我的用户信息作为密钥保存在 mongo 中。只是看起来很奇怪。

【问题讨论】:

  • 我很想知道答案,所以我可以回答你的另一个问题;)
  • 哈哈我在这上面花了大约 6 个小时哈哈我已经把我所有的资源都拉到了 IOS 和服务器端哈哈哈仍然很难解决但你让我走上了正确的轨道哈哈
  • 我不知道 iOS 开发,但你能检查一下你没有序列化你的 JSON 两次吗?看起来你正在制作一个 json 对象,然后将它封装到另一个对象中......
  • 我调试了我的 iOS 代码并确定了哈哈哈它是在 hapi 端还是在 iOS 端。
  • 不,我终于解决了。由于某种原因,我的代码中的标题似乎没有通过我再次查看我的代码,但我没有正确设置它们。感谢大家的帮助

标签: ios json node.js hapijs


【解决方案1】:

即使 OP 已经解决了他的问题并解释了问题所在,也将其作为答案发布。他说是头球。我遇到了完全相同的问题,解决方案就是 Content-Type 标头。由于我们将 JSON 对象传递给 REST 客户端,因此我们认为它负责设置正确的 Content-Type,但事实并非如此。

Content-Type: application/json

HAPI不会假设请求负载是 JSON。 JSON.stringify(request.payload, null, 2); 显示的格式与问题中的问题相同。您必须为 Hapi.js 指定 Content-Type 才能将 JSON 有效负载正确解析为 JSON。

【讨论】:

    猜你喜欢
    • 2022-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多