使用原生javascript和jQuery解析json数据
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。
JSONM文件中包含了关于“名称”和“值”的信息。
有时候我们需要读取JSON格式的数据文件,在jQuery中可以使用Ajax或者 $.getJSON()方法实现。
jQuery ajax - getJSON() 方法
语法:
jQuery.getJSON(url,data,success(data,status,xhr))
等价于:
$.ajax({
url: url,
data: data,
success: callback,
dataType: json
});
一,jQuery.Ajax
json数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合。
下面我总结jquery处理json数据方法。
1)$.each(...)
$('#button1').click(function(){
$.ajax({
type:"GET",
url:"data.txt",
dataType:"json",
success:function(data){
var string="<ul>";
//i表示在data中的索引位置,n表示包含的信息的对象
$.each(data,function(i,n){
//获取对象中属性为optionsValue的值
string+="<li>"+n["optionValue"]+"</li>";
});
string+="</ul>";
$('#result').append(string);
}
});
return false;
});
2)eval( data)
这种处理的方式将传递过来的数据直接解析为json数据,也就是说这里的前台js代码可能直接把这些数据解析成json对象数据,而并非字符串数据,如data[0].demoData,这里就直接使用了这个json对象数据:
$('#button2').click(function(){
$.ajax({
type:"GET",
url:"data.txt",
dataType:"json",
success:function(data){
var myObject = eval( data);
var string = '<table border = "1">';
string += "<caption align='top'>使用eval()解析数据</caption>";
string += "<tr><td>"+"optionKey"+"</td>";
string += "<td>"+"optionValue"+"</td></tr>";
for(var i = 0; i<myObject.length;i++){
string += "<tr><td>"+myObject[i].optionKey+"</td>";
string += "<td>"+myObject[i].optionValue+"</td></tr>";
}
string += '</table>'
$('#result').empty().append(string);
},
error : function() {
alert("抱歉!加载列表失败,请稍后重试!");
}
});
});
当中遇到一个小问题:Origin null is not allowed by Access-Control-Allow-Origin.
js文件中使用load()方法,而Chrome浏览器出于安全起见,不允许load本地文件
解决方法:http://www.windguo.com/javascript/261.html 或者直接只用IE8
使用原生javascript和jQuery解析json数据的更多相关文章
- [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于: ...
- 用jquery解析JSON数据的方法以及字符串转换成json的3种方法
用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是 json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject ...
- json数据的格式,JavaScript、jQuery读取json数据
JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON的特点: JSON 是纯文本 JSON 具有“自我描述性”(人类可读) JSON 具有层级 ...
- 使用jQuery解析JSON数据
我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. 上例中得到的JSON数据如下,是一个嵌套JSON: {"comments&quo ...
- 使用jQuery解析JSON数据(由ajax发送请求到php文件处理数据返回json数据,然后解析json写入html中呈现)
在上一篇的Struts2之ajax初析中,我们得到了comments对象的JSON数据,在本篇中,我们将使用jQuery进行数据解析. 我们先以解析上例中的comments对象的JSON数据为例,然后 ...
- 深入分析jquery解析json数据
我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. JSON数据如下,是一个嵌套JSON: {"comments":[{& ...
- 使用jQuery解析JSON数据-已验证
本文来源于:http://www.cnblogs.com/codeplus/archive/2011/07/18/2109544.html 上例中得到的JSON数据如下,是一个嵌套JSON: {&qu ...
- VBA中使用JavaScript脚本语言解析JSON数据
JSON:JavaScript 对象表示法(JavaScript Object Notation) 和xml相似,都是文本形式(保存在文本文件中或字符串等形式),比如: jsstr = {" ...
- JQuery解析json数据
<script> var data ="{" + "root:[" + "{name:'1',value:'0'}," + &q ...
随机推荐
- easyui datagrid editor onBeforeEdit事件下使用getEditor和getEditors失效
我在使用onClickRow: function(rowIndex,rowData){ if(editRow!=-1){ ...
- 使用jxl 解析Excel
jxl(Java Excel API) 使用方法 [1] 构建Workbook对象, 只读Workbook对象 // 直接从本地文档创建Workbook // 从输入流创建Workb ...
- git命令用法
git svn 说明 git pull svn update git add 要提交的文件名 svn add git rm svn rm,del git commit -m '备注一下提 ...
- centos7 安装wxPython
*** exact error that occured. This usually means GTK+ is incorrectly installed. configure: error: ...
- BarcodeLib -- 一个精简而不失优雅的条形码生成库
BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...
- 虚拟化技术:Xen与KVM的对比
作为开源的虚拟化技术,对比Xen和KVM可以看到,Xen以6个无与伦比的优势领先:更好的可用资源.平台支持.可管理性.实施.动态迁移和性能基准. 可用资源:Xen的问世要比KVM早4年之久(两者分别是 ...
- Hbase-1.1.1-java API
1.工具类 package com.lixin.stuty.hbase; import java.io.IOException; import org.apache.commons.configura ...
- svm原理及opencv
转自http://www.cnblogs.com/justany/archive/2012/11/23/2784125.html
- JAVA 上加密算法的实现用例,MessageDigest介绍
第 1 章基础知识 1.1. 单钥密码体制 单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密. 通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快 ...
- Mysql加载本地CSV文件
Mysql加载本地CSV文件 1.系统环境 系统版本:Win10 64位 Mysql版本: 8.0.15 MySQL Community Server - GPL Mysql Workbench版本: ...