Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hapi-如何将有效负载解析为JSON?_Json_Swift - Fatal编程技术网

Hapi-如何将有效负载解析为JSON?

Hapi-如何将有效负载解析为JSON?,json,swift,Json,Swift,所以我试图同时研究HTTP/TCP/IP协议、Nodejs、MongoJS和MongoDB。因此,我试图通过Hapi Web框架解决一些问题。我可以通过iOS模拟器与服务器通信,但是,我似乎无法正确解析负载。我知道我可以使用URL中的参数来发送信息,但我希望使用有效负载 所以我最终把这个保存到Mongo ( { "_id" = 5431f161bb859872034d2456; "{\"userLastNameKey\":\"Kwon\",\"userEmailKey\"

所以我试图同时研究HTTP/TCP/IP协议、Nodejs、MongoJS和MongoDB。因此,我试图通过Hapi Web框架解决一些问题。我可以通过iOS模拟器与服务器通信,但是,我似乎无法正确解析负载。我知道我可以使用URL中的参数来发送信息,但我希望使用有效负载

所以我最终把这个保存到Mongo

(
    {
    "_id" = 5431f161bb859872034d2456;
    "{\"userLastNameKey\":\"Kwon\",\"userEmailKey\":\"email\",\"userFirstNameKey\":\"Michael\",\"userUsernameKey\":\"username\",\"userPasswordKey\":\"password\"}" = "";
},
    {
    "_id" = 5431fe5694ed4721046c1f8c;
    "{\"userLastNameKey\":\"Kwon2\",\"userEmailKey\":\"email2\",\"userFirstNameKey\":\"Michael2\",\"userUsernameKey\":\"username2\",\"userPasswordKey\":\"password2\"}" = "";
这是我打电话的hapi代码

    // This will add a new user to the database
function addUser(request, response){

    db.usersCollection.save(request.payload, function (err, saved){
        if(err || !saved)
        {
            console.log("User not saved");
        } else 
          {
              console.log("User saved");
          }
    });
}
我的最终结果是我想尝试让它变成这样

    (
    {
    "_id" = 5431f161bb859872034d2456,
    "userLastNameKey" = "Kwon", 
    "userEmailKey" = "email",
    "userFirstNameKey"= "Michael",
    "userUsernameKey" = "username",
    "userPasswordKey" = "password",
    }
)
这是iOS代码

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

 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];
      }
有人知道我如何做到这一点吗

{
  "_id" = 5431f161bb859872034d2456;
  "userLastNameKey" = "Kwon"; 
  "userEmailKey" = "email";
  "userFirstNameKey"= "Michael";
  "userUsernameKey" = "username";
  "userPasswordKey" = "password";
}
这不是一个JSON对象。您需要使用逗号而不是分号。和冒号而不是等号。您的ID也不是十进制数,因此最好将其设置为字符串

您的对象看起来像:

{
  "_id" : "5431f161bb859872034d2456",
  "userLastNameKey" : "Kwon",
  "userEmailKey" : "email",
  "userFirstNameKey" : "Michael",
  "userUsernameKey" : "username",
  "userPasswordKey" : "password"
}

要解析(格式良好的)JSON字符串,请使用:
var JSONObject=JSON.parse(JSONstring)

确定,因此有效负载的末尾有一个“=”。如果没有这一部分,JSON解析将非常有效。您知道该“”部分可能来自何处吗?您可以粘贴新的有效负载吗?{{{“userLastNameKey”:“Kwon6”,“userEmailKey”:“email6”,“userFirstNameKey”:“Michael6”,“userUsernameKey”:“username6”,“userPasswordKey”:“password6”}:“}the”:”最后,你能解释一下这是什么吗?当你生成字符串时一定是个错误,你能给你的帖子添加一些代码让我看看吗?看起来您将整个有效负载作为一个键,将“”(空)作为一个值。