将数组转换为Swift中的JSON数组
问题描述:
我有两个整数数组,我想将它发送到我的mongodb数据库。当我将它作为参数发送到Alamofire的数据库时,在代码中data_array 1和2引用Int数组。将数组转换为Swift中的JSON数组
let parameters_post: Parameters = [
"sensor_id": "ecg_raw",
"member_id": "58d3f509e48f4ca90dd218e4",
"esignal": "3.5V",
"ts": "emre",
"value1" : data_array1,
"value2" : data_array2
]
Alamofire.request("https://api.mlab.com/api/1/databases/mysignal/collections/Cecgraw?apiKey=2ABdhQTy1GAWiwfvsKfJyeZVfrHeloQI", method: .post, parameters: parameters_post,encoding: JSONEncoding.default, headers: nil).responseData{ response in
print(response.request)
print(response.response)
print(response.result)
}
但是,它在MongoDB中被看作是这样的。我认为这是不正确的;
{
"_id": {
"$oid": "58f9d0e7c2ef162ad3000cb6"
},
"sensor_id": "ecg_raw",
"member_id": "58d3f509e48f4ca90dd218e4",
"value2": [
[
240,
279,
555,
547,
504
]
],
"value1": [
[
135,
91,
101,
115,
106
]
],
"esignal": "3.5V",
"ts": "emre"
}
答
按你说你要为关键value
送价值[(Int, Int)]
。但实际上你发送的是[[(Int, Int)]]
,这意味着array of array of tuples
(希望你需要发送为array of tuples
)。
尝试发送下面列表中,
let parameters_post: Parameters = [
"sensor_id": "ecg_raw",
"member_id": "58d3f509e48f4ca90dd218e4",
"esignal": "3.5V",
"ts": "emre",
"value" : data_array
]
感谢。
你好,我改变了结构。你能检查一下新的吗?我有两个整数值,我决定将它们存储在不同的阵列上。但仍然无法将其写入数据库。 –
你面临什么错误?示例JSON是什么? –
其实我并不完全清楚。当我搜索时,在JSON数组应该像“{”手镯。但在我的输出中,只有方形手镯。 –