【发布时间】:2016-01-18 14:24:56
【问题描述】:
我想将我的数据更改为所需的 JSON 格式。我的数据如下所示:
[
"{
id:001,
name:akhilesh,
}",
"{
id:002,
name:Ram,
}"
]
我想把上面的数据转换成有效的JSON:
[
{
"id":"001",
"name":"akhilesh"
},
{
"id":"002",
"name":"Ram"
}
]
我尝试了以下方法,但都没有帮助:
JSON.serializeJSON.parseeval
我需要这方面的帮助。
来自服务器端的确切数据响应是:
{
"d": [
"{id:413,title:ranjan,start:413,end:413}",
"{id:414,title:raja,start:414,end:414}",
"{id:415,title:raja g,start:415,end:415}",
"{id:416,title:abhh,start:416,end:416}",
"{id:417,title:chta,start:417,end:417}",
"{id:418,title:Raju,start:418,end:418}",
"{id:419,title:Ranjan,start:419,end:419}",
"{id:420,title:Raja,start:420,end:420}",
"{id:421,title:chitti,start:421,end:421}",
"{id:422,title:Raja,start:422,end:422}",
"{id:423,title:raja,start:423,end:423}",
"{id:424,title:yash,start:424,end:424}",
"{id:425,title:vsg,start:425,end:425}",
"{id:431,title:Vimal11,start:431,end:431}",
"{id:432,title:Aruhi,start:432,end:432}",
"{id:434,title:Aruhi,start:434,end:434}",
"{id:435,title:,start:435,end:435}",
"{id:436,title:xs,start:436,end:436}",
"{id:437,title:rajkj,start:437,end:437}",
"{id:438,title:mmt,start:438,end:438}",
"{id:439,title:xaxa,start:439,end:439}",
"{id:440,title:yash,start:440,end:440}"
]
}
服务器端代码
[System.Web.Services.WebMethod]
public static List<string> getData()
{
List<string> data = new List<string>();
using (SqlConnection con = new SqlConnection("Data Source=ACME-PC\\SQL;Integrated Security=true;Initial Catalog=ClinicApplication"))
{
SqlCommand cmd = new SqlCommand("select DISTINCT Patient_ID,First_Name,fromtime,totime,Date from tbl_AddPatientInfo", con);
{
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
string id = "{" +
"\"id:\"" + dr["Patient_ID"].ToString() + "," +
"title:" + dr["First_Name"].ToString() + "," +
"start:" + dr["Patient_ID"].ToString() + "," +
"end:" + dr["Patient_ID"].ToString() +
"}";
string ids = id.Replace(@"""", "");
data.Add(ids);
}
return data;
}
}
}
【问题讨论】:
-
为什么不能从服务器本身返回正确的 json?
-
只有一种正确的方法可以解决数据格式不正确的问题——停止使用它们。这就像“我的网络服务器返回法语文本,并且有很多错别字;我希望它以正确的英语显示”。
-
修复服务器端代码以发出 有效 JSON。不要尝试修复 JavaScript 中损坏的 JSON。
-
@AkhileshSingh 您应该更改服务器以返回有效的 JSON,现在数据不一致。
title包含 415 的空间,而 435 不存在,如果无法将数据格式更改为 JSON,至少使数据保持一致 -
如果该服务器在您所在国家/地区的控制之下,那么您需要告诉您的经理该服务器团队正在生成损坏的 JSON。很明显,他们打算生成 JSON,但只是惨遭失败。这是严重的无能。
标签: javascript c# asp.net json