我正在使用一些應用程序。其中我想從我的服務器發送數據到JSON中的Android應用程序。我有一個RestFul WCF service
我的客戶端與服務器進行通信。如果我想要一個單一的值,那很好。但是當我想要一堆數據時,我會感到震驚。我已經搜索了一些線程並研究了JSON.net函數和對象,但是我沒有找到任何簡單的例子。如果有人給我開頭或解決我的問題,將很感激。使用c序列化JSON#
這裏是一個例子我如何嘗試。
DATABASE
現在,我想要什麼?我想要所有的結果,其中有JSON字符串或對象格式的q_QuizCode
= dfsew43。
如何我嘗試:
public GetQuiz getAllQuiz(string q_code)
{
GetQuiz getQuizObject = new GetQuiz();
List<GetQuiz> gQuiz = new List<GetQuiz>();
#region DataBase_Connectivity
string strConnectionString = ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;
SqlConnection conn = new SqlConnection(strConnectionString);
conn.Open();
#endregion
string query = "select q_Question,q_opa,q_opb,q_opc,q_opd,q_cop from Table_QuizDetail where q_QuizCode = @qcode";
SqlCommand oCmd = new SqlCommand(query, conn);
oCmd.Parameters.AddWithValue("@qcode", q_code);
using (SqlDataReader oReader = oCmd.ExecuteReader())
{
while (oReader.Read())
{
getQuizObject.Quiz_Question = oReader["q_Question"].ToString();
getQuizObject.Quiz_Option_A = oReader["q_opa"].ToString();
getQuizObject.Quiz_Option_B = oReader["q_opb"].ToString();
getQuizObject.Quiz_Option_C = oReader["q_opc"].ToString();
getQuizObject.Quiz_Option_D = oReader["q_opd"].ToString();
getQuizObject.Quiz_Correct_Op = oReader["q_cop"].ToString();
gQuiz.Add(getQuizObject);
}
}
}
我能得到什麼:
{
"getAllQuizResult":{
"Quiz_Correct_Op":"b",
"Quiz_Option_A":"jreowi",
"Quiz_Option_B":"slkj",
"Quiz_Option_C":"elk",
"Quiz_Option_D":"dslkj",
"Quiz_Question":"ewepewoirpowejrdsngfdglfdjkbk"}
}
這就是事實上,我只是在數據庫中的最後經過一行。
如果這是一個相當嚴重的項目,我強烈建議您查看一個ORM(對象關係映射器),它將爲您提供所有複雜的,容易出錯的SQL解析,併爲您提供漂亮,整潔的對象你可以改爲使用。我猜想最常見的兩個是[實體框架](http://entityframework.codeplex.com/)和[NHibernate](http://nhforge.org/)。 –