我只是通过 jquery 调用我的服务器端方法,而我的服务器端方法看起来像
[WebMethod]
public static Dictionary<string,string> GetPayPalData()
{
Dictionary<string, string> rmPayPal = new Dictionary<string, string>();
int counter = 0;
Invoice _selectedInvoice = SelectedInvoice;
rmPayPal.Add("first_name", "Tridip");
rmPayPal.Add("last_name", "BBA");
foreach (InvoiceItem x in _selectedInvoice.InvoiceItems)
{
counter++;
rmPayPal.Add("item_name_" + counter.ToString(), x.ProductName);
rmPayPal.Add("amount_" + counter.ToString(), x.UnitPrice.ToString("#.00"));
rmPayPal.Add("quantity_" + counter.ToString(), x.Quantity.ToString());
rmPayPal.Add("shipping_" + counter.ToString(), (x.ShippingCost * x.Quantity).ToString("#.00"));
rmPayPal.Add("handling_" + counter.ToString(), (x.HandlingCost * x.Quantity).ToString("#.00"));
}
rmPayPal.Add("country", "GB");
rmPayPal.Add("currency_code", "GBP");
return rmPayPal;
}
我的示例 json 看起来像
{"d":
{"first_name":"Tridip",
"last_name":"BBA",
"address1":"Unit 1 Stirling Park",
"address_override":"1",
"city":"Rochester",
"state":"KENT",
"zip":"ME1 3QR",
"cmd":"_cart",
"upload":"1",
"item_name_1":
"Product #1",
"amount_1":"13.00",
"quantity_1":"4",
"shipping_1":"12.00",
"handling_1":"2.00",
"item_name_2":
"Product #3",
"amount_2":"11.00",
"quantity_2":"1",
"shipping_2":"3.00",
"handling_2":".50",
"country":"GB",
"currency_code":"GBP"
}
}
我的服务器端函数被 jquery 完美调用,json 格式的数据很好地返回到客户端。我关心的是如何通过 jquery 解析上面的 json。
因为名字、姓氏和少数字段在 json 字符串中只会出现一次,但 Item_Name、amount_、quantity_、shipping_ 等字段在 json 字符串中可能有很多。所以我必须在循环中阅读那些我无法这样做的准备字段。所以请帮助我解析 jquery 的小代码片段,通过它我可以读取那些将在 json 中出现一次的字段,并且我需要读取那些将在 json 字符串中出现尽可能多的字段。谢谢