gpt4 book ai didi

c# - 使用 C# 序列化 JSON

转载 作者:太空宇宙 更新时间:2023-11-03 19:09:42 25 4
gpt4 key购买 nike

我正在开发一些应用程序。我想在其中将数据从我的服务器发送到 JSON 中的 Android 应用程序。我有一个 RestFul WCF 服务,我的客户端通过它与服务器通信。如果我想要一个单一的值,那很好。但是当我想要一堆数据时,我很震惊。我搜索了一些线程并研究了 JSON.net 字典和一个对象,但我没有找到任何简单的例子。如果有人让我先行一步或解决我的问题,我将不胜感激。

这是我正在尝试的示例。

数据库 enter image description here

现在我想要什么?我想要所有具有 q_QuizCode = dfsew43 的 JSON 字符串或对象格式的结果。

我是如何尝试的:

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"}
}

这就是我实际得到的 Just a Last traversed ROW in database.

最佳答案

您需要在 while 循环内实例化新的 GetQuiz 对象,就像 Patrick 所说的那样。

但该方法还应返回 List<GetQuiz>而不仅仅是 GetQuiz .

将方法签名更改为

public List<GetQuiz> getAllQuiz(string q_code)

并添加

return gQuiz

作为方法中的最后一条语句,否则无论如何都无法编译。

关于c# - 使用 C# 序列化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21810532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com