怎么获取json对象和json数组组里面对象的每一个值

首先需要声明的是在JSON数据中,依然大括号{}代表一个对象,对于一段JOSN数据组来说可以通过如下手法解析
例如是这么一段JSON数据
sjon[{"numValue":1,"color":"","isUpload":"","otherType":3,"content":"住宅","type":2},{"numValue":2,"color":"","isUpload":"","otherType":3,"content":"别墅","type":2},{"numValue":3,"color":"","isUpload":"","otherType":3,"content":"写字楼","type":2},{"numValue":4,"color":"","isUpload":"","otherType":3,"content":"商铺","type":2},{"numValue":5,"color":"","isUpload":"","otherType":3,"content":"小产权","type":2},{"numValue":6,"color":"","isUpload":"","otherType":3,"content":"厂房","type":2},{"numValue":7,"color":"","isUpload":"","otherType":3,"content":"其他","type":2}]
通过HiJSON格式工具格式后图所示
我现在只想拿到其中的“content”属性要怎么办呢?
可以通过如下代码
//此处需要捕获异常
//先构件一个json数组对象
JSONArray jsonArray = new JSONArray(jsonStr);
for (int i = 0; i & jsonArray.length(); i++) {
//循环遍历该数组,取出其中的json对象(即{}包含的内容)
JSONObject jsonObject = (JSONObject) jsonArray.get(i);
//使用json对象的getString方法获取自己想要的属性(Json其实也就是键值对的方式储存值)
String content = jsonObject.getString("content");
//放到一创建好的集合中去
oritationDatas.add(content);
} catch (JSONException e) {
e.printStackTrace();
解析json字符串,并且获取其中某个key的值
public static void main(String[] args) {
String findStr = &hobby,listening,chinese&;//查找json字符串中的某...
将带数组的json反序列化成对象,取到数组的每一个元素值,及取json值
目的:将类似这样的json数据转为对象,然后获取到红色框和绿色框的值;
新建一个控制台应用程序
一、生成这个Json对应的实体类
将这个json数据复制,然后在Vs里面新建一个类,编辑—&a...
两种方法解析Json数组
解析的Json数组如下:
第一种 使用自带的JsonArray 解析,代码如下:
//通过自带的JsonArray
public List getListPersonByArray(St...
Json解析,同一个字段,获取的可能是对象,数组,或是null
Json解析,同一个字段,获取的可能是对象,数组,或是null的解决:比如
“sights”字段大多数情况下是JSONObject,但是当”sights”字段没有数据时,后台直接返回null值
没有更多推荐了,博客分类:
字符串转JSONArray& 然后遍历array
List&String& helpPersonList=new ArrayList&&();
List&String& oraList=new ArrayList&&();
String json="[{\"aid\":\"aid-0035\",\"aidName\":\"贾线柳\",\"aidType\":\"1\",\"organization\":\"镇财政分局\"}]";
JSONArray jsonArray=JSONArray.fromObject(json);
for (int j= 0;j&jsonArray.size();j++){
JSONObject jsonObject=jsonArray.getJSONObject(j);
String aidName=jsonObject.getString("aidName");
String org=jsonObject.getString("organization");
if(jsonArray.size()==1){
helpPersonList.add(aidName);
helpPersonList.add(aidName+"("+povertys.get(i).getPoorName()+")");
oraList.add(org);
浏览 11055
浏览: 19859 次
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'jquery遍历筛选数组的几种方法和遍历解析json对象
&更新时间:日 17:04:23 & 作者:
本文为大家介绍下jquery遍历筛选数组的几种方法和遍历解析json对象的具体实现,感兴趣的朋友不要错过
jquery grep()筛选遍历数组
代码如下: $().ready( function(){ var array = [1,2,3,4,5,6,7,8,9]; var filterarray = $.grep(array,function(value){ return value & 5;//筛选出大于5的 }); for(var i=0;i&filterarray.i++){ alert(filterarray[i]); } for (key in filterarray){ alert(filterarray[key]); } } );
jquery each()筛选遍历数组
代码如下: $().ready( function(){ var anObject = {one:1,two:2,three:3};//对json数组each $.each(anObject,function(name,value) { alert(name); alert(value); }); var anArray = ['one','two','three']; $.each(anArray,function(n,value){ alert(n); alert(value); } ); } );
jquery inArray()筛选遍历数组
代码如下: $().ready( function(){ var anArray = ['one','two','three']; var index = $.inArray(‘two',anArray); alert(index);//返回该值在数组中的键值,返回1 alert(anArray[index]);//value is two } );
jquery map()筛选遍历数组
代码如下: $().ready( function(){ var strings = ['0','1','2','3','4','S','6']; var values = $.map(strings,function(value){ var result = new Number(value); return isNaN(result) ? null://isNaN:is Not a Number的缩写 } ); for (key in values) { alert(values[key]); } } );
js遍历解析json对象1
代码如下: var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}]; for(var i=0,l=json.i&l;i++){ for(var key in json[i]){ alert(key+':'+json[i][key]); } }
js遍历解析json对象2 有如下 json对象: var obj ={”name”:”冯娟”,”password”:”123456″,”department”:”技术部”,”sex”:” 女”,”old”:30}; 遍历方法:
代码如下: for(var p in obj){ str = str+obj[p]+',';
下面通过例子来说明下具体实现方法 JQuery拿取对象的方式 $(‘#id') :通过元素的id $(‘tagName') : 通过元素的标签名 $(‘tagName tagName') : 通过元素的标签名,eg: $(‘ul li') $(‘tagName#id): 通过元素的id和标签名 $(‘:checkbox'):拿取input的 type为checkbox'的所有元素: Eg: &input type="checkbox" name="appetizers" value="imperial"/& $('span[price] input[type=text]') :拿取下面的input元素 &span price="3"& &input type="text" name="imperial.quantity" disabled="disabled" value="1"/& &/span& $('div',$(this).parents('div:first')):拿取该div的上(至少都是父节点)的第一个div节点 $('~ span:first',this): locates the first sibling of this that's a &span& element. 延迟加载js文件: $.getScript 例子: Html文件:
代码如下: &!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"& &html& &head& &title&$.getScript Example&/title& &link rel="stylesheet" type="text/css" href="../common.css"& &script type="text/javascript" src="../scripts/jquery-1.2.1.js"&&/script& &script type="text/javascript"& $(function(){ $('#loadButton').click(function(){ $.getScript(//在Firefox/3.0.1中会出现一个错误(语法错误,定义的变量不起作用,ff2没问题) 'new.stuff.js'//,function(){$('#inspectButton').click()} ); }); $('#inspectButton').click(function(){ someFunction(someVariable); test() }); }); &/script& &/head& &body& &button type="button" id="loadButton"&Load&/button& &button type="button" id="inspectButton"&Inspect&/button& &/body& &/html& &!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"& &html& &head& &title&$.getScript Example&/title& &link rel="stylesheet" type="text/css" href="../common.css"& &script type="text/javascript" src="../scripts/jquery-1.2.1.js"&&/script& &script type="text/javascript"& $(function(){ $('#loadButton').click(function(){ $.getScript(//在Firefox/3.0.1中会出现一个错误(语法错误,定义的变量不起作用,ff2没问题) 'new.stuff.js'//,function(){$('#inspectButton').click()} ); }); $('#inspectButton').click(function(){ someFunction(someVariable); test() }); }); &/script& &/head& &body& &button type="button" id="loadButton"&Load&/button& &button type="button" id="inspectButton"&Inspect&/button& &/body& &/html&
代码如下: alert("I'm inline!"); var someVariable = 'Value of someVariable'; function someFunction(value) { alert(value); } function test() { alert('test'); } alert("I'm inline!"); var someVariable = 'Value of someVariable'; function someFunction(value) { alert(value); } function test() { alert('test'); }
jquery数组处理:
代码如下: &!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"& &html& &head& &title&Hi!&/title& &script type="text/javascript" src="../scripts/jquery-1.2.1.js"& &/script& &script type="text/javascript"& var $ = 'Hi!'; jQuery(function(){ alert('$ = '+ $);//这里的 $ 为 Hi!,把它变回jquery的符号:jQuery(function($){...}/这样就可以了 //alert(jQuery) }); jQuery(function($){ //------------遍历数组 .each的使用------------- var anArray = ['one','two','three']; $.each(anArray,function(n,value) { //do something here //alert(n+' '+value); }); var anObject = {one:1, two:2, three:3}; $.each(anObject,function(name,value) { //do something here //alert(name+' '+value); }); //-----------过滤数组 .grep的使用------------ var originalArray =[99,101,103]; var bigNumbers = $.grep(originalArray,'a&100');//第2种写法,还可以用正则表达式来过滤 $.each(bigNumbers,function(n,value) { //do something here //alert(n+' '+value); }); //------------转换数组 .map的使用------------ var strings = ['1','2','3','4','S','K','6']; var values = $.map(strings,function(value){ var result = new Number(value); return isNaN(result) ? null ://如果result不是数字则 返回null(返回null在这里相当于不返回) }); $.each(values,function(n,value) { //do something here //alert(value); }); var characters = $.map( ['this','that','other thing'], function(value){return value.split('');}//分离字符串用返回给characters ); //alert(characters.length); //------------.inArray(value,array)的使用------------返回value在array下标的位置,如果value不在array中则返回-1 var index = $.inArray(2,[1,2,3,4,5]); //alert(index); //------------makeArray(obj)的使用------------将类数组对象转换为数组对象。 var arr = jQuery.makeArray(document.getElementsByTagName_r("div")); //arr.reverse(); // 使用数组翻转函数 $.each(arr,function(n,value) { //do something here //alert(n+' '+value); //alert(value.html()); }); var arr2 =$.unique(document.getElementsByTagName_r("div")); //获得唯一的对象,看API,说得很模 糊,http://docs.jquery.com/Utilities/jQuery.unique alert(); $.each(arr2,function(n,value) { //do something here alert(n+' '+value); }); }); &/script& &/head& &body& &div&First&/div&&div&Second&/div&&div&Third&/div&&div&Fourth&/div&&div&Fourth&/div& &/body& &/html& &!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"& &html& &head& &title&Hi!&/title& &script type="text/javascript" src="../scripts/jquery-1.2.1.js"& &/script& &script type="text/javascript"& var $ = 'Hi!'; jQuery(function(){ alert('$ = '+ $);//这里的 $ 为 Hi!,把它变回jquery的符号:jQuery(function($){...}/这样就可以了 //alert(jQuery) }); jQuery(function($){ //------------遍历数组 .each的使用------------- var anArray = ['one','two','three']; $.each(anArray,function(n,value) { //do something here //alert(n+' '+value); }); var anObject = {one:1, two:2, three:3}; $.each(anObject,function(name,value) { //do something here //alert(name+' '+value); }); //-----------过滤数组 .grep的使用------------ var originalArray =[99,101,103]; var bigNumbers = $.grep(originalArray,'a&100');//第2种写法,还可以用正则表达式来过滤 $.each(bigNumbers,function(n,value) { //do something here //alert(n+' '+value); }); //------------转换数组 .map的使用------------ var strings = ['1','2','3','4','S','K','6']; var values = $.map(strings,function(value){ var result = new Number(value); return isNaN(result) ? null ://如果result不是数字则 返回null(返回null在这里相当于不返回) }); $.each(values,function(n,value) { //do something here //alert(value); }); var characters = $.map( ['this','that','other thing'], function(value){return value.split('');}//分离字符串用返回给characters ); //alert(characters.length); //------------.inArray(value,array)的使用------------返回value在array下标的位置,如果value不在array中则返回 -1 var index = $.inArray(2,[1,2,3,4,5]); //alert(index); //------------makeArray(obj)的使用------------将类数组对象转换为数组对象。 var arr = jQuery.makeArray(document.getElementsByTagName_r("div")); //arr.reverse(); // 使用数组翻转函数 $.each(arr,function(n,value) { //do something here //alert(n+' '+value); //alert(value.html()); }); var arr2 =$.unique(document.getElementsByTagName_r("div")); //获得唯一的对象,看API,说得很模 糊,http://docs.jquery.com/Utilities/jQuery.unique alert(); $.each(arr2,function(n,value) { //do something here alert(n+' '+value); }); }); &/script& &/head& &body& &div&First&/div&&div&Second&/div&&div&Third&/div&&div&Fourth&/div&&div&Fourth&/div& &/body& &/html&
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具博客分类:
Json数组是子元素的有序集合,每个子元素都有一个下标,可以根据下标操纵Json数组的子元素。类JsonArray是对Json数组的抽象,提供操纵Json数组的各种方法。本文就介绍如何操纵JsonArray。
一、创建JsonArray实例
创建JsonArray实例有两类方法,一是利用超类Json的静态方法parseJsonText、parseJsonReader与parseJavaCollection获取JsonArray实例,二是直接利用JsonArray类的构造方法创建JsonArray实例。
根据传入的参数不同,parseJsonText返回一个JsonObject实例或JsonArray实例,利用parseJsonText方法的示例代码如下:
String jsonText = "['value1', 'value2', true, null]";
JsonArray jary = (JsonArray)Json.parseJsonText(jsonText);
parseJsonText返回的是一个Json类变量,所以要使用强制类型转换。
parseJsonReader负责从Reader类型参数内读取Json文本流,然后转换为Json实例,与parseJsonText一样,返回值需要强制类型转换。
方法parseJavaCollection直接返回JsonArray变量,不用类型转换,示例代码如下:
ArrayList&Object& collection = new ArrayList&Object&();
collection.add("value1");
collection.add(true);
collection.add(30);
collection.add(null);
JsonArray jary = Json.parseJavaCollection(collection);
如果Collection内有复杂的对象需要解析,可以用parseJavaCollection的重载版本parseJavaCollection(Collection, JsonParser)来处理(JsonParser的使用参考的第五部分)。
JsonArray类的构造函数有四个重载版本:JsonArray()、JsonArray(int)、JsonArray(Collection)与JsonArray(Collection, JsonParser)。不带参数与带整型参数的重载版本都构造一个空的JsonArray实例,所不同的是带整型参数的重载版本能够指定JsonArray初始容量的大小,以避免不必要的重新分配内存。重载版本JsonArray(Collection)与JsonArray(Collection, JsonParser)的使用类似于Json类的静态方法parseJavaCollection。
二、给JsonArray添加子元素
JsonArray是子元素的有序集合,所以给JsonArray添加子元素应该指明子元素的位置,方法insert、insertAll、append、appendAll都可以添加子元素到JsonArray,不同的是方法insert与insertAll可以在任意位置添加子元素,方法append与appendAll只能在JsonArray的末尾追加子元素。
方法insert与append都有七种重载版本,方法insertAll与appendAll都有三种重载版本,分别适用于不同的情况。
三、修改JsonArray的子元素
方法set用来修改JsonArray子元素的值,有七种重载版本,每种版本的第一个参数都是被修改的子元素的下标。
四、获取与检测JsonArray子元素
JsonArray的每个子元素都是一个Json实例,可以用方法get(int)获取这个实例。至于这个实例的类型,除可以调用方法getType()获得外,还可以通过JsonArray对方法getType的重载版本getType(int)获取(参数为子元素的下标)。
利用方法getString(int)可以获取指定下标子元素的字符串值,如果子元素是JsonPrimitive实例,则返回这个实例值对应的字符串(不带引号与转义符),否则返回对应的标准Json文本。
如果想获取子元素所对应的boolean、double、long、JsonArray与JsonObject类型的值,则可以分别调用方法getBoolean(int)、getDouble(int)、getLong(int)、getJsonArray(int)与getJsonObject(int)。与getString方法不一样的是当子元素无法转换为相应的类型时会抛出异常。方法canToBoolean(int)、canToDouble(int)、canToLong(int)、canToJsonArray(int)与canToJsonObject(int)可以检测是否可以转换为对应的类型。
以特定的类型获取子元素时,方法canToXXX返回true并不表明子元素就是所测试的类型。根据的设计,如果子元素的类型是INTEGER,则可以得到对应的double类型的值,如果类型时String,对于部分情况,可以得到对应的boolean、long或double类型的值。
五、删除JsonArray子元素
删除JsonArray的子元素调用方法remove(int),参数为要删除的子元素的下标。
相关阅读:
浏览 60699
浏览: 130392 次
来自: 北京
你好,这个代码里有很多方法都没有写呢,比如parseTailB ...
写得很详细,读了内容之后···只能表示感谢!
非常感谢楼主,果断是好东西。。。。
学习了,很好的东东
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'博客分类:
EXT列表中的其中一列,后台传过来的是JsonArray数组,如何获取这个数组中对象的某一个字段;
value的格式是:[{id : '1', name: '分类名称'}]
header : '分类',
dataIndex : 'categorys',
renderer : function(value) {
if (Ext.isArray(value)) {
var c = '';
Ext.each(value, function(item, index) {
if (index & 0) {
c += ', ';
c += item.
其中,Ext.each方法是Ext.Array.each的别名。
Ext.each(Array/NodeList/Mixed array, Function(item, index){
// item表示前面所要迭代的数组的每一个元素。eg:如果数据是JSONArray形式的,item表示每一个json对象。
// index表示默认从0开始的item数组的索引位置
chenjie1121
浏览: 3371 次
来自: 北京
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 json对象数组 的文章

 

随机推荐