gpt4 book ai didi

android - POST alamofire 数组参数

转载 作者:行者123 更新时间:2023-11-30 10:10:27 27 4
gpt4 key购买 nike

如何转换下面的 Android 代码

for (int i = 0; i < items.size(); i++) {
mParams.put("items[" + i + "][id]", items.get(i).getType().getId());
mParams.put("items["+i+"][note]", items.get(i).getNote());
}

快速前往阿拉莫菲尔。

以下是我的代码,但它不起作用:

for var i = 0; i < self.survey.items.count; i++ {
parameters["items[\(self.survey.items[i].type?.id)]"] = [
"[id]": self.survey.items[i].id,
"[note]": self.survey.items[i].note

]

print(self.survey.items[i].id)
}

--

参数如下所示:

parameter: [
"items[0][id]": 3,
"items[1][note]": Pen,
"lat": 3.070235299720939,
"status_id": 1,
"items[3][id]": 3,
"name": Bih,
"lng": 101.6110375110495,
"items[2][id]": 4,
"items[0][note]": Keychain,
"items[3][note]": Keychain,
"is_avocated": 1,
"items[2][note]": Pen,
"items[1][id]": 4
]

我只用

添加了 1 个
parameters["items"] = [[
"id": 4,
"note": "Pen"

]]

但是一旦我做到了

parameters["items[0]"] = [[
"id": 4,
"note": "Pen"

]]

它没有添加:(再次没有错误

最新编辑:服务器端(Laravel)正在等待

$items = Input::get('items', []);
foreach ($items as $key => $item) {
//$survey->items()->attach($item['id'], ['note' => $item['note']]);
$sItem = new SurveyItem;
$sItem->survey_id = $survey->id;
$sItem->item_id = $item['id'];
$sItem->note = $item['note'];
$sItem->created_by = Auth::user()->id;
$sItem->save();
}

最佳答案

与 Android 代码等效的 Swift 是:

var parameters = [String:String]()

for var i = 0; i < survey.items.count; i++ {
parameters["items[\(i)][id]"] = survey.items[i].id
parameters["items[\(i)][note]"] = survey.items[i].note
}

或者,您也可以这样做:

var parameters = [String:AnyObject]()
for var i = 0; i < survey.items.count; i++ {
parameters["items[\(i)]"] = ["id" : survey.items[i].id, "note" : survey.items[i].note]
}

提交请求时,请确保检查错误,例如:

Alamofire.request(.POST, url, parameters: parameters)
.responseJSON { response in
switch (response.result) {
case .Failure(let error):
print("error: \(error)")
case .Success(let responseObject):
print("responseObject: \(responseObject)")
}
}

--

你说以下方法有效:

parameters["items"] = [[ "id": 4, "note": "Pen" ]]

生成的主体如下所示:

items%5B%5D%5Bid%5D=4&items%5B%5D%5Bnote%5D=Pen

当百分比转义被删除时,看起来像:

items[][id]=4&items[][note]=Pen

而我上面的例子生成:

items%5B0%5D%5Bid%5D=4&items%5B0%5D%5Bnote%5D=Pen

即:

items[0][id]=4&items[0][note]=Pen

当我解释你的 Android 代码时,后者应该是正确的格式。我无法使您的 Android 代码与您的测试结果保持一致。

关于android - POST alamofire 数组参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33241749/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com