gpt4 book ai didi

c# - 解析 JSON 对象数组

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

我需要将从 C# 代码中获取的一组值存储到 javascript 数组中。我收到一个错误.. 有人可以告诉我错误是什么吗?我正在使用这个 jcode。

 $.get('Dataextract.aspx', function (data, textStatus) {
alert('Status is ' + textStatus);//success
alert('JSON data string is: ' + data);//string as below

var JSONdata = data;
eval(JSONdata);//error here-> expected ;
alert(JSONdata.rowval[0].CustomerID);

}, 'text');

我正在使用 ajax 查询来检索 JSON 对象数组。我得到的数据对象值是这样的字符串。

{"rowval" :[{"CustomerID":12"Title":"Mr.""FirstName":"Johnny""MiddleName":"A.""LastName":"Caprio""CompanyName":"Bikes and Motorbikes""RowNumber":10},{"CustomerID":16"Title":"Mr.""FirstName":"Christopher""MiddleName":"R.""LastName":"Beck""CompanyName":"Bulk Discount Store""RowNumber":11},{"CustomerID":18"Title":"Mr.""FirstName":"David""MiddleName":"J.""LastName":"Liu""CompanyName":"Catalog Store""RowNumber":12},{"CustomerID":19"Title":"Mr.""FirstName":"John""MiddleName":"A.""LastName":"Beaver""CompanyName":"Center Cycle Shop""RowNumber":13},{"CustomerID":20"Title":"Ms.""FirstName":"Jean""MiddleName":"P.""LastName":"Handley""CompanyName":"Central Discount Store""RowNumber":14},{"CustomerID":21"Title":"FirstName":"Jinghao""MiddleName":"LastName":"Liu""CompanyName":"Chic Department Stores""RowNumber":15},{"CustomerID":22"Title":"Ms.""FirstName":"Linda""MiddleName":"E.""LastName":"Burnett""CompanyName":"Travel Systems""RowNumber":16},{"CustomerID":23"Title":"Mr.""FirstName":"Kerim""MiddleName":"LastName":"Hanif""CompanyName":"Bike World""RowNumber":17},{"CustomerID":24"Title":"Mr.""FirstName":"Kevin""MiddleName":"LastName":"Liu""CompanyName":"Eastside Department Store""RowNumber":18},{"CustomerID":25"Title":"Mr.""FirstName":"Donald""MiddleName":"L.""LastName":"Blanton""CompanyName":"Coalition Bike Company""RowNumber":19},{"CustomerID":28"Title":"Ms.""FirstName":"Jackie""MiddleName":"E.""LastName":"Blackwell""CompanyName":"Commuter Bicycle Store""RowNumber":20}]}

这是生成 JSON 的 C# 代码

sb.Append("{\"rowval\" :");
sb.Append("[");
if (table != null)
{
foreach (DataRow row in table.Rows)
{
sb.Append("{");
if (row.Table != null && row.Table.Columns != null && row.Table.Columns.Count > 0)
{
foreach (DataColumn column in row.Table.Columns)
{
parseMember(row[column], column.ColumnName, sb);
}
}
sb.Append("},");
}
}
sb.Append("]");
sb.Append("}");

sqlcon.Close();
Response.Write(sb);



}

private static void parseMember(object val, string memberName, StringBuilder sb)
{
Type t = val.GetType();

if (memberName != null && memberName.Trim().Length > 0)
sb.AppendFormat("\"{0}\":", memberName);
if (typeof(string) == t || typeof(char) == t)
sb.AppendFormat("\"{0}\"", val.ToString());
else
sb.AppendFormat("{0}", val.ToString());
}

最佳答案

如果您正在获取 json 然后指定 dataType 等于 json 作为 $.get 中的第 4 个参数将解析 json您可以使用 jquery 的 each` 方法进行迭代,例如

 $.get('Dataextract.aspx', function (data, textStatus) {
alert('Status is ' + textStatus);//success
alert('JSON data string is: ' + data);//string as below
// no need for eval
// var JSONdata = data;
// eval(JSONdata);//error here-> expected ;
alert(JSONdata.rowval[0].CustomerID);

}, "json"); // <--

或者你可以明确地解析 json

 $.get('Dataextract.aspx', function (data, textStatus) {
alert('Status is ' + textStatus);//success
alert('JSON data string is: ' + data);//string as below

var JSONdata = $.parseJSON(data);
// eval(JSONdata);//error here-> expected ; again no need for the eval
alert(JSONdata.rowval[0].CustomerID);

}, 'text');

更新

您正在形成的 json 不正确,为了验证您的 json,您可以访问 www.jsonlint.com , 这是有效的 json

{
"rowval": [
{
"CustomerID": 12, // <-- you are missing the commas
"Title": "Mr.",
"FirstName": "Johnny",
"MiddleName": "A.",
"LastName": "Caprio",
"CompanyName": "Bikes and Motorbikes",
"RowNumber": 10
}
]
}

关于c# - 解析 JSON 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8897487/

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