Android アプリケーションは、サービスを介して Android sqlite データベースから SQL サーバー db にデータを転送します。これはうまくいっています。問題は double 型の値で、整数に変換されます (GPS 位置座標だけではありません)。
これは私のコードです:
JSONArray jaVisitDetail= new JSONArray();
StringBuffer visitDetail = new StringBuffer();
visitDetail.append("{\"WMVisitDetail\":");
for (int i = 0; i < stringList.size(); i++) {
ArrayList<?> arrayList = (ArrayList<?>) stringList.get(i);
ArrayList<?> list = arrayList;
if(((String) list.get(20)) != null && !((String) list.get(20)).equals("")) {
//DecimalFormat df = new DecimalFormat("#0.0000");
visitDe.put("Latitude",Double.parseDouble((String)list.get(20)));
//visitDe.put("Latitude",df.format(Double.parseDouble((String)list.get(20))));
//visitDe.put("Latitude",(String)list.get(20));
}else {
visitDe.put("Latitude",0.0000);
}
if(((String) list.get(21)) != null && !((String) list.get(21)).equals("")) {
//DecimalFormat df = new DecimalFormat("#0.0000");
visitDe.put("Longitude",Double.parseDouble((String)list.get(21)));
//visitDe.put("Longitude",df.format(Double.parseDouble((String)list.get(21))));
//visitDe.put("Longitude",(String)list.get(21));
}else {
visitDe.put("Longitude",0.0000);
}
jaVisitDetail.put(visitDe);
}
visitDetail.append(jaVisitDetail.toString());
visitDetail.append("}");
これはC#コードです:
public bool convertJSONToDataSet(string strBusinessUnit, string strExecutiveCode, string strTableName, string jsonContent)
{
bool status =false;
try
{
DataSet ds = JsonConvert.DeserializeObject<DataSet>(jsonContent);
DataTable dt = ds.Tables[0];
status = UpdateUploadData(strBusinessUnit, strExecutiveCode, strTableName, dt);
}
catch (FaultException err)
{
status = false;
}
catch (Exception error)
{
string gg = error.Message;
Console.WriteLine(gg);
status = false;
}
return status;
}
Longitude /latitude
を double として送信すると、DeserializeObject はこれを整数として受け取ります
as 文字列を送信するLongitude /latitude
と、エラーは次のようになります。
`Input string was not in a correct format.Couldn't store <6.9292> in Latitude Column. Expected type is Int64.`
これはjsonデータのセットです
{
"ExecutiveCode":"EXEC03",
"ReasonCode":" ",
"SurveyNumber":" ",
"RetailerCode":"2975",
"UploadedType":" ",
"CallStartTime":"09:11:58",
"ActualValue":"30600",
"UploadedOn":" ",
"Status":"1",
"MTDAcheivedValue":0,
"ActiveStatus":"1",
"UploadFlag":"1",
"VisitNumber":"83",
"BusinessUnit":"MASS",
"UploadedMethod":" ",
"RetailerCodeSon":"",
"Latitude":"6.9294",
"VisitSequence":"58",
"Longitude":"79.9038",
"RetailerType":" ",
"UploadedBy":" ",
"CallEndTime":"09:14:41"
}
この問題をどのように分類できますか?