J'ai C# WCF service.Il je veux convertir en JSON String.DataSet contenir plus de tableau venant bientôt entraîner un mauvais format json.JSON Format - convertir Dataset à JSON
{
"Target1": [
{
"BusinessUnit": "MASS",
"RetailerCode": "TEST0002"
},
{
"BusinessUnit": "MASS",
"RetailerCode": "TEST0008"
}
]
}{
"PDCheque1": [
{
"BusinessUnit": "MASS",
"AccountCode": "TEST0003"
}
]
} 0 {
"OutStanding1": [
{
"BusinessUnit": "MASS",
"Year": "2010"
},
{
"BusinessUnit": "MASS",
"Year": "2010"
}
]
}
Voici la méthode coverting:
//Converting dataset to json
public String ConverTableToJson(DataSet dsDownloadJson){
String tableData = "";
StringBuilder Sb = new StringBuilder();
Sb.Append("{\"");
foreach (DataTable dt in dsDownloadJson.Tables)
{
DataTable dtDownloadJson = dt;
string[] StrDc = new string[dtDownloadJson.Columns.Count];
string HeadStr = string.Empty;
Sb.Append(dtDownloadJson.TableName + "1\" : [");
if (dtDownloadJson.Rows.Count > 0)
{
for (int i = 0; i < dtDownloadJson.Columns.Count; i++)
{
StrDc[i] = dtDownloadJson.Columns[i].Caption;
HeadStr += "\"" + StrDc[i] + "\" : \"" + StrDc[i] + i.ToString() + "¾" + "\",";
}
if (HeadStr.Length > 0)
{
HeadStr = HeadStr.Substring(0, HeadStr.Length - 1);
for (int i = 0; i < dtDownloadJson.Rows.Count; i++)
{
string TempStr = HeadStr;
Sb.Append("{");
for (int j = 0; j < dtDownloadJson.Columns.Count; j++)
{
TempStr = TempStr.Replace(dtDownloadJson.Columns[j] + j.ToString() + "¾", dtDownloadJson.Rows[i][j].ToString());
}
Sb.Append(TempStr + "},");
}
Sb = new StringBuilder(Sb.ToString().Substring(0, Sb.ToString().Length - 1));
}
else
{
Sb.Append("0 }");
}
}
else
{
Sb.Append("0 }");
}
Sb.Append("]}");
}
return Sb.ToString(); ;
}
Si la table ne contient pas d'enregistrements alors il faut revenir "0" comme `Tablename [{0}] »
Son venant comme ceci.Il est faux dans le 2e ensemble PDCheque1
lieu.
Comment je veux formater?
Dans Android, je veux gt le chaque ensemble en utilisant le nom de table i.e PDCheque1
, «Target1» comme sage.
1er set est ok pour obtenir le result.When je passe JSONArray array = jsonobject.getJSONArray(tablename);' It say no
`PDCheque1``
S'il vous plaît aidez-moi ...
Merci à l'avance