将数组转换为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 
] 

感谢。

+0

你好,我改变了结构。你能检查一下新的吗?我有两个整数值,我决定将它们存储在不同的阵列上。但仍然无法将其写入数据库。 –

+0

你面临什么错误?示例JSON是什么? –

+0

其实我并不完全清楚。当我搜索时,在JSON数组应该像“{”手镯。但在我的输出中,只有方形手镯。 –