Ⅰ jquery中怎么获取json的key值
获取方法如下:
用jquery回调函数完成。
$.each(json, function(i) { console.log(i); //获取键值
console.log(json[i]); //获取对应的value});
for (var key in json) { console.log(key); //获取key值
console.log(json[key]); //获取对应的value值}
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSONM文件中包含了关于“名称”和“值”的信息。有时候我们需要读取JSON格式的数据文件,在jQuery中可以使用Ajax或者 $.getJSON()方法实现。
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
Ⅱ shell脚本如何从json文件读取一个某个值
time=`cat json|awk -F"[xxx]" '/xxx/{print $x}'`
这样去取参数
Ⅲ jquery怎么获取json里其中一个值
json字符串是key:value键值对,要获取key对应的value值,只需要jsonobject.key就行了,在你的代码里就是版ds.key(要获取的value对应的权key)
补充一下,你这个应该先获取table属性对应的值(是个数组)获取数组的第一个元素然后在.key
ds.Table[0].key 比如ds.Table[0].NAME能获取“张三”
Ⅳ 如何使用jquery取出json格式的数据
不知道你想做什么。
jquery是运行在浏览器端的一个js
函数库,json被浏览器解析之后就内是
一个js字面量容(或叫做对象)
。你说拼接,是不是把两个json的数据变成一个对象?我觉得这完全没必要吧,如果你需要同时获取两个json你可以在服务器端直接把这两次请求合并为一个,这样只用一次请求
速度还快一些
。
如果你非要获取两次然后拼接成一个对象也可行。
function
callback(json){
这里写你处理最终json的代码
}
$.getjson("url1",
function(json1)
{//获取第一个json
$.getjson("url2",
function(json2)
{//回调函数中获取第二个json
var
key;
for
(key
in
json2)
{//遍历第二个json对象添加到第一个json中
json1[key]
=
json2[key];
};
callback(json1);
//处理最终得到的json对象
});
});
Ⅳ 关于使用jq 处理json格式的简单笔记
json格式包含有如下的基本类型 : 数字,字符串,false, true, null
而由基本类型组成的复合类型有 : 数组,对象;其中数组是以 [ ] 进行标记的,而对象是以 { } 进行标记;
jq 这个命令用来处理json数据格式,非常方便,简单记录其常用的使用方法如下:
A. 对于数组的处理:
1). 如果 jq 要处理的json是 数组类型,那么用 “ jq .[ ] ” 可以将数组的最外层的[ ] 标记脱掉, 从而变成 对象 类型。
2). 上述命令的 中括号里面可以带有参数,这个参数就是 数组的下标,这个下标从前向后最小是 0,最大值没有限制,如果超出,那么就会return null. 同时支持下标从后向前基数,最小为-1. 但是参数的值除了数字,不可以是空格. 同时数组的下表支持 切片,也就是 [2:7] 或者 [1,2,5,7] 这种格式都是支持的.
B. 对于对象的处理:
1). 因为对象里面的每个元素都是 key:value的形式存在,虽然value 也可以是一个复合类型,但是不影响 key:value 这种格式,所以对于对象,通常用 jq .key 这种方式来获取对应key的value. 其中key 在这里可以不用引号括起来,当然也可以用引号括起来,反正key都是字符串类型。
2). 如果要获得对象所有元素的key值,那么要把 |keys 串接在对象后面,需要注意的是 这里不是利用的shell的管道,而是jq内置的管道,所以属于jq的参数的一部分. 例如:
其实 keys 属性不仅仅支持 对象,也支持json 数组,比如:
3). 判断是否存在某个key.
在上面利用jq内置的 keys 属性,可以获取所有的key, 其实还有jq内置的has 方法,这个方法可以判断对应的key是否存在. 例子如下:
4). jq 的查找结果避免输出 错误,转而输出null
在查找条件的后面加上一个问号,那么如果找不到就不会输出任何的error, 相应的输出一个null来替代. 这个问号可以加在方法的后面(后面的例子中可以看到)。这在递归查找的时候非常有用;否则可能会出现报错的情形.
5). jq 的查找结果为空,避免输出null ,而是什么都不输出
目前不知道怎么实现,暂且用其他的linux 命令来过滤吧
6). 根据指定的关键字查找有该关键字的key,也就是模糊查找
jq 支持PCRE 正则表达式,所以支持模糊搜索, 这里主要展示用scan 方法输出模糊搜索的结果. 用法实例如下:
7). 根据指定的key, 查找嵌套对象中所有该key的value,输出该value
使用 .. 或者 recurse 来表示递归查找,然后通过管道进行常规的查找就可以了,举例如下:
8). 如何将匹配key 的 key 和value 一起进行输出?
以上的命令表示递归方式,获取Key为name的所有key:value对,并以key:value的方式进行输出,但是空的字典对象如何排除呢? 目前还没有发现好的解决方法
9). 因为keys 属性支持对象的同时,也支持数组,所以如何来剔除数组而只是要对象的keys呢?
有一个walk 方法可以实现,但是不常用,所以这里不做讨论.
10).嵌套的模糊查找,上面描述了用scan进行模糊查找,以及用recurse来进行嵌套,如何两者结合呢?
因为scan方法只能够作用于字符串,所以不可以简单的将recurse和scan 结合起来使用,这里需要通过keys来实现 嵌套的模糊查询. 举例如下:
11). 其他使用小tips:
在可以使用 .key1.key2 这种情况下,也可以使用 .key1|.key2 的格式,个人更倾向于使用 .key1|.key2 ,因为看起来更清晰明了. 比如下面的例子.
在大多数情况下我们看到的json 复合格式最外层都是数组的形式,而不是对象的形式,这个是因为什么原因呢? 因为json的对象必须是 key:value 的格式,虽然value 也可以是一个复合格式,但是一定需要key:value 形式,而 数组的不同元素的类型之间没有任何的关联,同一个数组,既可以包含有字符串元素,也可以包含对象元素,还可以包含数字... ,因此一个复合类型的 json格式一般最外层都是数组的形式.
首先用模糊查询,配合递归查找相应的key;-----简言之,就是找到key
然后用特定的key, 配合递归查询找到所有的结果;------简言之,就是依据key遍历到所有的值
最后对上述的结果做进一步的处理得到需要的结果. -----简言之,对得到的值做进一步的过滤获得真正需要的结果
简单例子如下下:
简单总结:
Ⅵ jq 怎么获取json 数据的值
如果是后台数据就用ajax获取,这样获取后的数据一般为json数据。如是前端回数据转为json数据就答用JSON.parse方法。如:
vars='[1,2,3]';vararr=JSON.parse(s);//arr=[1,2,3]
Ⅶ jquery easyui 中的combobox读取后台传递过来的json数据的例子
第一步,在后台Action 要先生成符合comboboxJson格式的数据,就是将你的list转换为这专种格式,通常是Map里面存属两个 diCode diName diCode相当于<optiion>里面的value diName 这是text
将组装好的Map放入list 中,然后将list转换为json就好。
第二步,在jsp页面后者其它前台页面直接这样就可以:
<input class="easyui-combobox"
name="cc"
id="cc"
url="<%=path %>/json/dataAction!cascadeAction.action"
valueField="diCode"
textField="diName"
panelHeight="auto" editable="false" />
页面上写input 也可以 写select也可以只要你写了class="easyui-combobox"就变成easy-ui的控件了。url是最核心的东西,指向你后台将要返回json的Action