精华内容
下载资源
问答
  • 通过fastjson的JSON对象类处理json数组数据
    [{
        "info": {
            "users": {
                "username": "东升布艺",
                "email": "jilongliang@sina.com",
                "tel": "111111111",
                "age": "25"
            },
            "address": {
                "street": "云城区闻莺路东升布艺",
                "province": "广东省",
                "district": "云城区",
                "city": "云浮市"
            }
        }
    }]
    package ivyy.taobao.com.domain.fastjson;
    
    import java.util.Iterator;
    
    import ivyy.taobao.com.utils.IoUtils;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    /**
     *@DEMO:json
     *@Java:JSONTest3.java
     *@Date:2015-1-19上午9:44:14
     *@Author:liangjilong
     *@Email:jilongliang@sina.com
     *@Weibo:http://weibo.com/jilongliang
     *@Version:1.0
     *@Description:通过fastjson的JSON对象类处理json数组数据
     */
    public class JSONTest3 {
    
    	public static void main(String[] args) {
    		//1、处理文件路径
    		String filePath=JSONTest3.class.getClassLoader().getResource("doc/json1.json").getPath();
    		//2、读取文件里面的数据
    		String content=IoUtils.reader(filePath);
    		//3、把数据转换成json数组
    		JSONArray jarr=JSON.parseArray(content);
    		
    		//-----------------------------方法一-----------------------------
    		//遍历json数组节点
    		for (Iterator iterator = jarr.iterator(); iterator.hasNext();) {
    			JSONObject object = (JSONObject) iterator.next();
    			//拿出info节点
    			JSONObject infoObj=JSON.parseObject(object.get("info").toString());
    			//拿出address节点
    			JSONObject addrObj=JSON.parseObject(infoObj.get("address").toString());
    			System.out.println(addrObj.get("province"));//拿出province节点
    			System.out.println(addrObj.get("city"));//拿出city节点
    			System.out.println(addrObj.get("district"));//拿出district节点
    			System.out.println(addrObj.get("street"));//拿出street节点
    			System.out.println(addrObj.getString("street"));//拿出street节点
    		}
    		
    		//-----------------------------方法二-----------------------------
    		//遍历json数组节点
    		for (int i=0;i<jarr.size();i++) {
    			JSONObject object = (JSONObject) jarr.get(i);
    			//拿出info节点
    			JSONObject infoObj=JSON.parseObject(object.get("info").toString());
    			//拿出address节点
    			JSONObject addrObj=JSON.parseObject(infoObj.get("address").toString());
    			System.out.println(addrObj.get("province"));//拿出province节点
    			System.out.println(addrObj.get("city"));//拿出city节点
    			System.out.println(addrObj.get("district"));//拿出district节点
    			System.out.println(addrObj.get("street"));//拿出street节点
    			System.out.println(addrObj.getString("street"));//拿出street节点
    		}
    		//-----------------------------方法三-----------------------------
    		//-----------------------------还可以使用do while  while..-----------------------------
    		//参考文章http://blog.csdn.net/jilongliang/article/details/42841811 的getArrayToJsonByMap方法
    		//遍历json数组节点
    		 for (Object object : jarr) {
    			 JSONObject obj=JSON.parseObject( object.toString());
    			 
    			 JSONObject infoObj=JSON.parseObject(obj.get("info").toString());
    			 //拿出address节点
    			 JSONObject addrObj=JSON.parseObject(infoObj.get("address").toString());
    			 System.out.println(addrObj.get("province"));//拿出province节点
    			 System.out.println(addrObj.get("city"));//拿出city节点
    			 System.out.println(addrObj.get("district"));//拿出district节点
    			 System.out.println(addrObj.get("street"));//拿出street节点
    			 System.out.println(addrObj.getString("street"));//拿出street节点
    		}
    		
    	}
    
    }
    


    展开全文
  • 通过fastjson去解析json数组数据
     
    
     package ivyy.taobao.com.domain.fastjson;
    
    import java.util.Iterator;
    
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    
    /**
     * @Author:jilongliang
     * @Date:2014-12-19
     * @Version:1.0
     * @Description:fastjson和json-lib,gson都支持’如:
     *正确:jsonStr="[{\"age\":22,\"sex\":\"男\",\"userName\":\"xiaoliang\"},{\"age\":22,\"sex\":\"男\",\"userName\":\"xiaoliang\"}]";
     *正确:jsonStr="[{'age':22,'sex':'男','userName':'xiaoliang'},{'age':22,'sex':'男','userName':'xiaoliang'}]";
     */
    public class JsonTest1 {
    	public static void main(String[] args) {
    		 
    		//[{"age":22,"sex":"男","userName":"xiaoliang"},{"age":22,"sex":"男","userName":"xiaoliang"}]
    		//jsonStr="[{'age':22,'sex':'男','userName':'xiaoliang'},{'age':22,'sex':'男','userName':'xiaoliang'}]";
    		StringBuffer buff=new StringBuffer();
    		
    		buff.append("[");
    			buff.append("{");
    				buff.append("'weixin'").append(":").append("'YFDSBUYI'").append(",");
    				buff.append("'weibo'").append(":").append("'http://weibo.com/resourceljl'").append(",");
    				buff.append("'qq'").append(":").append("'1302128216'").append(",");
    				buff.append("'email'").append(":").append("'buyee_hr@126.com'").append(",");
    				buff.append("'address'").append(":").append("'广东省云浮市云城区闻莺路39号'").append("");
    			buff.append("}");
    			buff.append(",");//第一个数组结尾
    			buff.append("{");
    				buff.append("'weixin'").append(":").append("'YFDSBUYI'").append(",");
    				buff.append("'weibo'").append(":").append("'http://weibo.com/resourceljl'").append(",");
    				buff.append("'qq'").append(":").append("'1302128216'").append(",");
    				buff.append("'email'").append(":").append("'buyee_hr@126.com'").append(",");
    				buff.append("'address'").append(":").append("'广东省云浮市云城区闻莺路39号'").append("");
    			buff.append("}");
    		buff.append("]");
    		
    		String  jsonStr=buff.toString();
    		
    		//转换成数组数据并遍历
    		JSONArray jarr=JSONArray.parseArray(jsonStr);//JSON.parseArray(jsonStr);
    		for (Iterator iterator = jarr.iterator(); iterator.hasNext();) {
    			JSONObject job=(JSONObject)iterator.next();
    			String weibo=job.get("weibo").toString();
    			System.out.println(weibo);
    		}
    	}
    }
    

    展开全文
  • 通过JackJson去读取Json数组数据
    <pre name="code" class="java">package ivyy.taobao.com.domain.fackjson;
    
    import ivyy.taobao.com.entity.About;
    
    import org.codehaus.jackson.JsonFactory;
    import org.codehaus.jackson.JsonParser;
    import org.codehaus.jackson.JsonToken;
    import org.codehaus.jackson.map.ObjectMapper;
    
    /**
     *@Author:liangjl
     *@Date:2015-1-5
     *@Version:1.0
     *@Description:jackjson不支持'如:
     *正确:jsonStr="[{\"age\":22,\"sex\":\"男\",\"userName\":\"xiaoliang\"},{\"age\":22,\"sex\":\"男\",\"userName\":\"xiaoliang\"}]";
     *错误:jsonStr="[{'age':22,'sex':'男','userName':'xiaoliang'},{'age':22,'sex':'男','userName':'xiaoliang'}]";
     */
    public class JackJson1 {
    	private static ObjectMapper mapper=new ObjectMapper();
    	public static void main(String[] args)throws Exception {
    		//json1.json
    		
    		StringBuffer buff=new StringBuffer();
    		
    		buff.append("[");
    			buff.append("{");
    				buff.append("\"weixin\"").append(":").append("\"YFDSBUYI\"").append(",");
    				buff.append("\"weibo\"").append(":").append("\"http://weibo.com/resourceljl\"").append(",");
    				buff.append("\"qq\"").append(":").append("\"1302128216\"").append(",");
    				buff.append("\"email\"").append(":").append("\"buyee_hr@126.com\"").append(",");
    				buff.append("\"address\"").append(":").append("\"广东省云浮市云城区闻莺路39号\"").append("");
    			buff.append("}");
    			buff.append(",");//第一个数组结尾
    			buff.append("{");
    				buff.append("\"weixin\"").append(":").append("\"YFDSBUYI\"").append(",");
    				buff.append("\"weibo\"").append(":").append("\"http://weibo.com/resourceljl\"").append(",");
    				buff.append("\"qq\"").append(":").append("\"1302128216\"").append(",");
    				buff.append("\"email\"").append(":").append("\"buyee_hr@126.com\"").append(",");
    				buff.append("\"address\"").append(":").append("\"广东省云浮市云城区闻莺路39号\"").append("");
    			buff.append("}");
    		buff.append("]");
    		
    		String  jsonStr=buff.toString();
    		
    		System.out.println(jsonStr);
    		//jsonStr=mapper.writeValueAsString(jsonStr);
    		//创建一个JsonFactory对象
    		JsonFactory factory=new JsonFactory();
    		//使用JsonParser处理json字符串
    		JsonParser parser=factory.createJsonParser(jsonStr);
    		//进行下一个json节点处理
    		parser.nextToken();
    		while (parser.nextToken()==JsonToken.START_OBJECT) {
    			About a=mapper.readValue(parser, About.class);
    			System.out.println(a.getAddress());
    			
    		}
    		
    	}
    }
    

     
    
    package ivyy.taobao.com.entity;
    
    import java.io.Serializable;
    
    /**
     *@Author:liangjilong
     *@Date:2015-1-5
     *@Version:1.0
     *@Description:
     */
    public class About implements Serializable {
    
    	private String weixin;
    	private String weibo;
    	private String email;
    	private String qq;
    	private String address;
    	
    	
    	public String getWeixin() {
    		return weixin;
    	}
    	public void setWeixin(String weixin) {
    		this.weixin = weixin;
    	}
    	public String getWeibo() {
    		return weibo;
    	}
    	public void setWeibo(String weibo) {
    		this.weibo = weibo;
    	}
    	public String getEmail() {
    		return email;
    	}
    	public void setEmail(String email) {
    		this.email = email;
    	}
    	public String getQq() {
    		return qq;
    	}
    	public void setQq(String qq) {
    		this.qq = qq;
    	}
    	public String getAddress() {
    		return address;
    	}
    	public void setAddress(String address) {
    		this.address = address;
    	}
    }
    

    展开全文
  • SoapUI用groovy脚本提取json数组数据

    千次阅读 2016-01-22 12:36:15
    前言:利用SoapUI进行数据源驱动测试,如果数据源是...在android中json数组数据是比较常见的,如先请求一组数据得到新闻列表,当点击列表中的新闻时,再根据ID去请求新闻正文。 例如如下数据,calendar_id是需要根据

    SOAPUI 中如何用Groovy 读取数据



    前言:利用SoapUI进行数据源驱动测试,如果数据源是固定的,使用DataSource方法读取xls文件中的数据是很方便的,但是如果数据源不是固定的,需要从接口返回中的数据中动态获取的,这时就得动态去获取返回值的数据了。

    在android中json数组数据是比较常见的,如先请求一组数据得到新闻列表,当点击列表中的新闻时,再根据ID去请求新闻正文。

    例如如下数据,calendar_id是需要根据返回值动态获取的,此时需要通过获得数组中的calendar_id

    {"calendar": 

    {"calendar_id":"1705","showtime":"1288927800","endshowtime":"1288931400","allDay":false}, 
    {"calendar_id":"1706","showtime":"1288933200","endshowtime":"1288936800","allDay":false},
    {"calendar_id":"1709","showtime":"1288935600","endshowtime":"1288938900","allDay":false}

    }

    在SoapUI中可以通过groovy脚本实现提取json数组数据,提取到数据后就可以遍历访问列表中的每条新闻正文了

    1.新建一个REST请求步骤,获取接口返回的数据

    2.新建一个DataSource步骤,选择Groovy方式

    3.添加一个名为cal_id的Properties

    4.groovy编辑框中输入实现代码

    1. import groovy.json.JsonSlurper  
    2.   
    3. def xresponse = testRunner.testCase.testSteps["getCalendarListByCoid"].testRequest.response.contentAsString  
    4. def slurper = new JsonSlurper()  
    5. def re = slurper.parseText(xresponse)  
    6. def num=re.calendar.size()  
    7. def i = testRunner.testCase.testSteps["DataSource"].currentRow  
    8. if(i<num)  
    9. {  
    10. result["cal_id"]=String.valueOf(re.calendar_id.id[i])  
    11. }  

    5.新建一个Property Transfer步骤,将DataSource的cal_id传递给当前testCase的变量

    6.新建 一个REST请求步骤,将得到的cal_id去请求另一个接口

    7.新建一个DataSource Loop步骤,使DataSource与Property Transfer步骤循环,这样就可以遍历数组中的每个数据了


    [reply]tz0705010216[/reply]
    你好
    以博文中的json为例,新增的groovy步骤则如下:
    def xresponse = testRunner.testCase.testSteps["getCalendarListByCoid"].testRequest.response.contentAsString  
    def slurper = new JsonSlurper()  
    def re = slurper.parseText(xresponse)
    def id = re.calendar.calendar_id[i]    //i为json数组中的第i个子json对象
    若为在脚本断言处添加groovy断言,则如下:
    def xresponse = messageExchange.modelItem.testCase.testSteps["getCalendarListByCoid"].testRequest.response.contentAsString
    def slurper = new JsonSlurper()
    def result = slurper.parseText(xresponse)

    def id = re.calendar.calendar_id[i]    //i为json数组中的第i个子json对象



    如需知道更加详细的内容,请在百度阅读输入SOAPUI 就可以找到


    展开全文
  • 获取json数组数据或单个数据

    万次阅读 2017-12-19 11:02:40
    单个json数据 {“state”,"1"} 获取值的方法 JSONObject obj = new JSONObject(“放json数据,即{“state”,“1”}”) string state = obj.getString(...数组json数据  {"calendar":   {"calendarli
  • 由于本人在使用vue.js访问后台的时候,传递json数组数据到后台,意外的出现了不能解析的错误,使用BeanUtils不能设置集合的问题的解决办法!因此记录下来! 2.想要解析vue的ajax的post请求的方法 需要在请求的方法...
  • 在项目中使用到json数据的次数还是很多的,小编奔到的第一个问题就是,父传子的json数据在子...上图中的服务地区对应的是json数组中的 serviceAreaList 字段,这个字段也会有个数组,通过接口赋值,完了赋给sele...
  • Spring MVC之返回Json数组数据

    千次阅读 2018-08-16 09:47:17
    $.post("${pageContext.request.contextPath}/getJson",null, function(data){ $.each(data,function(){ var tr = $("<tr align='center'/>"); $("<td/>").html(this.userName).appendTo(tr); $("<td/>...
  • 1. 传来的json数组如下:2. 根据存储结构进行在前台进行读取即可。
  • C# | 通过Object创建一个Json数组数据

    千次阅读 2019-08-23 17:17:42
    那么我们自己发送请求时,json数据一般需要自己通过代码动态实现,比如请求下面这个题库校对API,请求代码如下: private class Body { public List<Data> data; } private class Data...
  • php 接收 小程序传来的json数组数据

    千次阅读 2018-09-04 16:35:59
    小程序: var Datas = []; for (var i = 0; i &lt; flise.length;i++){ Datas.push([{ "...Datas = JSON.stringify(Datas); 小程序传输的数据:   php: 经测试 直接 $_POST['D...
  • var res = [{ name: ‘tom’, num: 12.3333534233 },{ name: ‘jarry’, num: 32.937847382 },{ name: ‘jack’, num: 100.8392874 }] 保留到小数点后两位: res.map((item, index)=>...item.num= item.num....
  • 构建完成后,然后将构建的字符串“似json数组”(注意这里并非是真正的json数组,实际为字符串,这里我叫它“似json数组”,也可以认为js数组),最后通过JSON.parse()函数进行字符串转json数组。  先看一下我的...
  • 代码贴完了,对于这种直接一个数组Json数据是能正常解析的,但是如果在数组前添加了头就解析不了了,比如这样: {"Music":[ {"musicName":"nuoya.mp3"}, {"musicName":"john.mp3"} ]} 想请问实体类和解析...
  • 在之前我的一篇博客:JSON解析实战篇:JSON数组中含JSON数组中描述了关于一个比较复杂的JSON数据解析问题,也给出了解决方案,但是思路有些偏向于面向过程,代码稍显冗余。今天运用了面向对象思想,给出一个升级版本...
  • 有很多库可以接受JSON数组,而很少有需要汇总的配置,例如“数据透视行”,“数据透视列”和“值”字段。 但是所有这些模块的输出都是带有辅助函数的JSON对象。 我找不到一个库,该库仅将输出作为JSON数组提供。 该...
  • 主要介绍了js根据json数组多个字段排序及json数组常用操作,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
  • 怎么获取json数组里面的json数组

    万次阅读 2018-12-13 10:52:09
    在这里面有一个对象spu,里面有一些属性,两个json数组(files和skuFiles) 获取对象的属性 GoodsSpu goodsSpu = new GoodsSpu(); BeanUtils.copyProperties(goodsSpu, params); 获取files这个json数组 JSONArray ...
  • 大多数的人应该都知道怎么解析json数组,可今天却遇到一个json数组里面嵌套json数组的情况,废话不多说,上代码 JSONObject root = new JSONObject(jsondata); JSONArray array1=root.getJSONArray("weather");//...
  • /** ... * @param oldFieldData 旧的数据 * @param newFieldData 修改之后的值 * @return */ public static JSONArray fieldDataCover(JSONArray oldFieldData, JSONArray newFieldData) { ...
  • 获取在sessionStorage的JSON数据。和JSON数组数据
  • 1、前端发送json数组 $.ajax({ url: "test.do", type: "POST", data: JSON.stringify(jsonDatas),//这里要转换json contentType: 'application/json;charset=utf-8',...
  • JSON语法之JSON数组

    万次阅读 2018-06-07 14:49:10
    JSON数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。如图 1‑5所示:图1-5 JSON数组JSON 数组:JSON 数组在中括号中书写。JSON 中数组值必须...
  • Json是跨语言数据交流的中间语言,它以键/值对的方式表示数据,这种简单明了的数据类型能被大部分编程语言理解。它也因此是前后端数据交流的主要方式和基础。 2.前端往后台传输json数据     &...
  • json数组中提取所需值,组成新的json数组 var dataTank =[];//创建容器 var oldData = data;//获取Json数据 for (var i=0;i<oldData.length;i++){ //提取所需值组成新数组 dataTank.push({“name”:income[i]....
  • 一、手机端调java后台接口时,有时由于业务的需求需要传的数据json数组中嵌套json数组,后台接收到后需要处理 eg:前端传进的数据结构: 前端传进来数据结构:lineJson =[{"startProvince":"2","startCity":"2",...
  • Json数组追加数据

    2016-07-08 10:20:00
    背景:在做一个购物车的时候,点击第一个商品,然后存入一个json数组中,点击第二个商品的时候,又继续在json数组中追加,代码如下: <script type="text/javascript"> var jsonArray = { "goods": [] };...
  • 本文实例讲述了JavaScript实现构造json数组的方法。分享给大家供大家参考,具体如下: 从后端拿到的数据是一个数组,每个元素中包含的数据如下(host相同的记录都是相邻的) currentTime:“1470729601” host:“10.3....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 261,282
精华内容 104,512
关键字:

json数组数据