在 C# 中编写 json 对象的最佳方法是什么?我有一段代码应该从数据库获取数据并写入 json 对象,但我还没有弄清楚这一点
[WebMethod]
public static string get_specialities(string ProfessionalID)
{
Database db = DatabaseFactory.CreateDatabase("Connection String2");
DbCommand dbCommand;
dbCommand = db.GetStoredProcCommand("select_Professionals_Speciality");
db.AddInParameter(dbCommand, "prof_id", DbType.Int16, Convert.ToInt16(ProfessionalID));
IDataReader dr = db.ExecuteReader(dbCommand);
//[{ id: 3, name: "test3" }]
string return_str="[";
int i = 0;
while (dr.Read()) {
if (i > 0)
return_str += ",";
return_str += "{id:" + dr["SpecialtyID"].ToString().Trim() + ",name:" + dr["SpecialtyName"].ToString().Trim() + "}";
i++;
}
return_str += "]";
return return_str;
}
这将返回下面的对象,该对象的格式错误
{"d":"[{id:67,name:Kardiyoloji}]"}
我做错了什么?
最佳答案
使用 JavaScriptSerializer class 尝试此操作:
List<Person> people = new List<Person>();
Person p = new Person();
while (dr.Read()) {
p = new Person();
p.id = dr["SpecialtyID"].ToString().Trim();
p.name = dr["SpecialtyName"].ToString().Trim();
people.Add(p);
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
string return_str = serializer.Serialize(people);
关于c# - jquery如何在c#中编写正确的json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811670/