【问题标题】:How to PUT JSON format data from NSArray iOS如何从 NSArray iOS PUT JSON 格式数据
【发布时间】:2016-12-06 16:52:02
【问题描述】:

我需要像这样形成 PUT 请求:

在 Java (android) 上创建的第一个示例:

public JSONObject putGameData(String answer_id) {
    JSONObject jsonObject = new JSONObject();

    if(myAnswersArray.contains(new String(answer_id))){
        for(int i = 0; i < myAnswersArray.size(); i++)
            if(answer_id.equals(myAnswersArray.get(i)))
                myAnswersArray.remove(i);

    } else {
        myAnswersArray.add(answer_id);
    }

    JSONArray jsonArray = new JSONArray(myAnswersArray);
    try {
        jsonObject.put("answer_id", jsonArray);
    } catch (JSONException e) {
        e.printStackTrace();
    }

    return jsonObject;
}

参数:{ “answer_id”:[ “a104fccc555a60ea8e437d8b7f11dd12”, “ad4277811a26ebea5d72d09a164531ee”, “5a1cc90dc9b51d6f8793759cab11728f”], “令牌”:“eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJzdWIiOiIx} P>

在 iOS 应用程序上,我发送这样的参数,这是不正确的。我的参数带有 \n 和其他空格...

参数:{ “{\” answer_id \ “:”:{ “\” 20052e3c88ef5c16d9ae0ac0d86ffbca \ “\ ”2600c200e39815352ec1c7d602d67d25 \“ ”:“ ”},“ 标记 ”:“ eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJzdWIiOiIxMzUiLCJpc3MiOiJodHRwOlwv”} P>

我做到了:

NSData *jsonData2 = [NSJSONSerialization dataWithJSONObject:multipleAnswersArray options:NSJSONWritingPrettyPrinted error:nil];
NSString *jsonString = [[NSString alloc] initWithData:jsonData2 encoding:NSASCIIStringEncoding];
[post setObject:multipleAnswersArray forKey:@"answer_id"];

然后执行put data:

NSData *postData = [NSJSONSerialization dataWithJSONObject:post options:0 error:&error];

如何像第一个例子一样制作正确的格式?

【问题讨论】:

  • 不要使用NSJSONWritingPrettyPrinted 那就是添加\n
  • 另外,正如所写,您的“请求参数”不是 JSON,“PARAMETERS:”后面是什么,但不包括“PARAMETERS:”。
  • @Larme 我已经排除了 NSJSONWritingPrettyPrinted 但情况相同。 :( 第一个变体是由 android 创建的,我将在问题的标题中添加代码以便更好地理解。也许它会有所帮助,有人知道如何在 Objective C 上编写相同的代码。
  • 你为什么用setObejct: multipleAnswersArray而不是setObject: jsonString
  • 这不是\n。只是转义字符。

标签: ios objective-c json


【解决方案1】:

感谢大家的帮助,但我找到了解决方案。我使用 AFNetworking 并将我的数组放入参数中,它工作得很好;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2017-06-27
    • 1970-01-01
    相关资源
    最近更新 更多