【发布时间】:2022-01-10 04:12:03
【问题描述】:
我有一个由 C# razor page 方法返回的 json 字符串,如下所示:
var data =
{"Transactions":"[{\"BatchID\":\"814C87D9-7037-4E66-97EC-5861D2712997\",\"BatchOpenStatus\":\"Y\",\"Time\":\"2021-09-02T10:41:26.318\",\"recType\":\"Trip\",\"RevisionNum\":0,\"ID\":\"e1ddc1ac-0c0c-11ec-b55b-e2b9dfec84c8\",\"Payment Type\":\"2\",\"Tag Agency\":\"0046\",\"Transponder ID\":\"309999\",\"Plate#\":\"\",\"State\":\"\",\"Type\":\"PAS\",\"Class\":\"4\",\"AVC Class\":\"4\",\"VehSpeed\":\" \",\"TagStatus\":\"0\",\"TagClass\":\"2\",\"Plaza\":\"072\",\"Lane\":\"41\"},{\"BatchID\":\"814C87D9-7037-4E66-97EC-5861D2712997\",\"BatchOpenStatus\":\"Y\",\"Time\":\"2021-09-02T10:53:26.229\",\"recType\":\"Trip\",\"RevisionNum\":0,\"ID\":\"7c5dccbe-0c0e-11ec-b55b-e2b9dfec84c8\",\"Payment Type\":\"2\",\"Tag Agency\":\"0046\",\"Transponder ID\":\"309119\",\"Plate#\":\"JSON06\",\"State\":\"\",\"Type\":\"PAS\",\"Class\":\"4\",\"AVC Class\":\"4\",\"VehSpeed\":\" \",\"TagStatus\":\"0\",\"TagClass\":\"2\",\"Plaza\":\"072\",\"Lane\":\"41\"},{\"BatchID\":\"814C87D9-7037-4E66-97EC-5861D2712997\",\"BatchOpenStatus\":\"Y\",\"Time\":\"2021-09-02T13:05:26.17\",\"recType\":\"Trip\",\"RevisionNum\":0,\"ID\":\"fb707240-0c20-11ec-b55b-e2b9dfec84c8\",\"Payment Type\":\"2\",\"Tag Agency\":\"0046\",\"Transponder ID\":\"377159\",\"Plate#\":\"470E03\",\"State\":\"\",\"Type\":\"PAS\",\"Class\":\"2\",\"AVC Class\":\"2\",\"VehSpeed\":\" \",\"TagStatus\":\"0\",\"TagClass\":\"2\",\"Plaza\":\"040\",\"Lane\":\"2\"}]","ReturnCode":0,"ReturnString":"Succesful"}
如何在我的 javascript 中提取交易?这是我当前的代码:
var _transactions = [];
var allData= jQuery.parseJSON(data);
_transactions = JSON.stringify(eval("(" + allData.Transactions + ")"));
此代码适用于少量“交易”,但不适用于数千条记录。
感谢任何帮助。
【问题讨论】:
-
不清楚你在问什么。不知道为什么这里有
eval;data.Transactions已经是一个字符串,可以按原样解析。你的意思是字符串是'var data = {"..."}'?这与parseJSON(data)不一致。 -
var transactions = JSON.parse(data.Transactions) -
交易是一个字符串。
-
这就是
JSON.parse()所做的;将 JSON 字符串解析为对象。如果您有一个包含数千条记录的 JSON 字符串,并且您说它运行得太慢,您是在要求更快的 JSON 解析器吗?在客户端(例如浏览器)或服务器上?如果是客户,无论如何您都不能对数千条记录做任何有意义的事情——这就是分页的用途。 -
这就是为什么我将它解析为一个数组......从你的问题来看,这似乎是你想要的。
标签: javascript json parsing