我正在使用一些应用程序。其中我想从我的服务器发送数据到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/)。 –