优化了解析 JSON 数据的方式
Optimized way to parse JSON data
我有一个JSON数据
[
{
"Name": "Tom",
"Email": "tom@gmail.com",
"Notes": "Yea, it's good",
"Ratings": "5",
"Messages": [
"Tom - I am good",
"System - How're you doing?",
"Tom - True, that!",
"System - Oh Yes! ;) "
]
},
{
"Name": "Sunny",
"Email": "sunny@gmail.com",
"Notes": "Yea, it's good",
"Ratings": "2",
"Messages": [
"Sunny-I am good",
"System - How're you doing?",
"Sunny - True, that!",
"System - Oh Yes! ;) "
]
}
]
我正在使用 jQuery 解析它并像这样迭代它;
var jsonData = $("#jsonData").val();
var plainData = $.parseJSON(jsonData);
for (var j = 0; j < plainData.length; j++) {
var Name = plainData[j].Name;
var Email = plainData[j].Email;
var Notes = plainData[j].Notes;
var Ratings = plainData[j].Ratings;
var Messages = plainData[j].Messages;
var _messages = " ";
for (var i = 0; i < Messages.length; i++)
_messages += Messages[i] + "'n";
}
我不太确定在 for 循环中迭代它是否是一个好主意。任何人都可以建议我一种更好/优化的方式来迭代解析的 json 值吗?
你刚才这样做的方式是最有效的方法,除了:
var Messages = plainData[j].Messages;
var _messages = " ";
for (var i = 0; i < Messages.length; i++)
_messages += Messages[i] + "'n";
也可以写得更好:
_messages = plainData[j].Messages.join(''n') + ''n';
在较旧的浏览器(以及一些不太旧的浏览器)中,如果可以使用负 while 循环,它将比 for 循环更快:
而不是
for (var j = 0; j < plainData.length; j++) {
用
var j=plainData.length;
while(j--) {
曾经有一个博客引用了一些定量指标,但该页面已死,但是结果可以相当容易地复制。
对原因的猜测是比较等于零而不是大于或小于比较,并且Javascript作为一种解释性语言可以内联代码以使用已知的术语点进行优化,但我对此声明没有定量知识。
在网络房间徘徊了一会儿后,我发现了一些量化:
https://blogs.oracle.com/greimer/entry/best_way_to_code_a
相关文章:
- 如何“;过滤器”;或者以其他方式重构该数据
- 在页面上记录数据并实现pushstate()的最佳方式
- 以角度渲染表中数据的最佳方式
- DC.js数据表没有按应有的方式显示
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 显示数据的最快方式
- 数据在确认框中的显示方式存在问题
- 以编程方式透视谷歌可视化数据表
- 将数据从视图传输到javascript的最佳方式
- 在JSX点击中传递数据的正确方式
- 以编程方式为传单地图上的标记提供数据属性
- AngularJS中使用ajax获取数据的最佳方式是什么
- Spring MVC与Google图表,创建javascript数据表的最佳方式是什么
- 更新视图和控制器之间的角度重复数据值的最佳方式是什么
- 有没有办法对一些javascript进行沙盒处理,这样它就不能以任何方式将数据发送到服务器
- 如何将相同的 JavaScript 数据传递给 HTML 两种不同的方式
- 如何以与使用Javascript的PHP相同的方式获取数据
- 在定期更新的 Angular 中存储和使用数据的最佳方式
- 如何以编程方式将所需行移动到数据表的顶部
- 显示具有 MVC 数据绑定视图模型 ASP.NET JQuery 对话框的最佳方式