1
我已將我的數據以json格式保存在MySQL數據庫中。我想用C++解碼它。我使用SimpleJSON對其進行編碼,但我無法提取它。我的數據庫格式是:在C++中解碼json
[[{"x":36},{"y":0},{"value":0.47873455286026}],
[{"x":68},{"y":0},{"value":0.00944233685731888}],
[{"x":35},{"y":0},{"value":0.00944233685731888}],
[{"x":206},{"y":0},{"value":0.00944233685731888}]]
保存在1列。我將該值作爲數據庫的字符串獲取。我怎樣才能解碼它?我用來編碼的代碼是:
JSONArray array;
for (int j = 0;j<bb.rows;j++){
JSONArray v;
JSONObject x,y,value,result;
x[L"x"]=new JSONValue ((double) (bb.at<double>(j,0)));
y[L"y"]=new JSONValue ((double)(0));
value[L"value"]=new JSONValue(bb.at<double>(j,1));
v.push_back(new JSONValue(x));
v.push_back(new JSONValue(y));
v.push_back(new JSONValue(value));
array.push_back(new JSONValue(v));
}
我跟着這個鏈接。 https://github.com/MJPA/SimpleJSON
有什麼問題加載到字符串,然後'Parse',使用'Json :: Parse'方法? – ForEveR
我用它,但不能。它可能是一個數組內的數組。 – user1583647
@ user1583647你的問題究竟是什麼?例如,要獲得第一個值36,您應該能夠使用'JSON :: Parse(myJson) - > asArray()[0] - > asArray()[0] - > asObject() - > begin() - >二階> asNumber();'。當然,你應該檢查一路上的所有轉換。 – PeterT