精华内容
下载资源
问答
  • import java.io.StringReader...import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.al
    import java.io.StringReader;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
     
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    import com.alibaba.fastjson.JSONReader;
     
    public class TestJson {
     
    	public static void main(String[] args) {
    		//创建10万条测试数据
    		JSONArray jsonArray = new JSONArray();
    		for(int i=0;i<100000;i++){
    			JSONObject jsonObject = new JSONObject();
    			Map<String, Object> map = new HashMap<String, Object>();
    			map.put("MERCHCODE", "MERCHCODE"+i);
    			map.put("DEVCODE", "DEVCODE"+i);
    			map.put("TRANSTIME", "TRANSTIME"+i);
    			map.put("TRANSAMT",  100+i);
    			map.put("TRANSTYPE", "TRANSTYPE"+i);
    			map.put("TRANSSTATUS", "TRANSSTATUS"+i);
    			jsonObject.putAll(map);
    			jsonArray.add(jsonObject);
    		}
    		//获取开始时间
    		long startTime=System.currentTimeMillis();   
    		
    		//返回List
    		List<Map<String, Object>> rsList = new ArrayList<Map<String, Object>>();
    		/*第一种:将每个json数组元素转化为json对象,遍历添加到List中
    		 * 程序运行时间: 4079ms总数:100000
    		 * 程序运行时间: 400ms 总数:100
    		 * 程序运行时间: 460ms总数:20
    		 * 
    		JSONArray array=JSON.parseArray(jsonArray.toJSONString());
    		for (int i = 0; i < array.size(); i++) {
                JSONObject object2 = array.getJSONObject(i);//json数组对象
                Map<String, Object> map2 = new HashMap<String, Object>();
               for (Object k : object2.keySet()) {
                    Object v = object2.get(k);
                    map2.put(k.toString(), v);
               }
               rsList.add(map2);
          }*/
          
          
    		/* 第二种:对象化,对返回字段进行转义,可自定义返回字段及类型   
    		 * 程序运行时间: 4729ms 总数:100000
    		 * 程序运行时间: 697ms 总数:100
    		 * 程序运行时间: 605ms总数:20
    		 * 
    		List<HisDataReturnDto> datas=JSON.parseArray(jsonArray.toJSONString(), HisDataReturnDto.class);
    		if(null != datas && datas.size() != 0){
    			for(HisDataReturnDto data:datas){
    				Map<String,Object> map = new HashMap<String,Object>();
    				map.put("merchName", data.getMERCHNAME());
    				map.put("merchCode", data.getMERCHCODE());
    				map.put("devCode", data.getDEVCODE());
    				map.put("transTime",data.getTRANSTIME());
    				map.put("transAmt", data.getTRANSAMT());
    				map.put("transType", data.getTRANSTYPE());
    				map.put("transStatus",data.getTRANSSTATUS());
    				rsList.add(map);
    			}
    		}*/
    		
    		/*第三种:读取流方式,数据量较大时很有优势
    		 * 程序运行时间: 2602ms  总数:100000
    		 * 程序运行时间: 447ms 总数:100
    		 * 程序运行时间: 486ms总数:20
    		 */
    	    JSONReader reader = new JSONReader(new StringReader(jsonArray.toJSONString()));
    	    reader.startArray();
    	    Map<String, Object> map = new HashMap<String, Object>();
    	    while (reader.hasNext()) {
    		    reader.startObject();
    		    while (reader.hasNext()) {
    			    String arrayListItemKey = reader.readString();
    			    String arrayListItemValue = reader.readObject();
    			    map.put(arrayListItemKey, arrayListItemValue);
    		    }
    		    rsList.add(map);
    		    reader.endObject();
    	    }
    	    reader.endArray();
    	    reader.close();
    	    //获取结束时间
    	    long endTime=System.currentTimeMillis();
    	    System.out.println("程序运行时间: "+(endTime-startTime)+"ms");
    	    System.out.println("总数:"+rsList.size());
    	}
    

    转载:https://blog.csdn.net/sophylyzz/article/details/84908634?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159488626019724848303733%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159488626019724848303733&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~rank_ctr_v4-1-84908634.ecpm_v1_rank_ctr_v4&utm_term=json%E6%95%B0%E7%BB%84%E8%BD%AC%E5%8C%96%E4%B8%BAlist

    展开全文
  • using System;using System.Collections.Generic;using System.Linq;using System.Runtime....using System.Runtime.Serialization.Json;using System.Web;using System.Web.UI;using System.Web.UI.WebC...

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Json;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    namespace WebApplication13
    {

    //DataContract 和  DataMember不能缺少否则不能序列化成list<T>
    [DataContract]
    public class QuickFastPage
    {
    [DataMember]
    private int index { get; set; }
    [DataMember]
    private string url { get; set; }
    [DataMember]
    private string pageName { get; set; }
    }

    public partial class WebForm2 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!string.IsNullOrEmpty(Request["_method"]) && Request["_method"] == "setQuickFast")
    {
    string pagePostData = Request["postData"];
    if (!string.IsNullOrEmpty(pagePostData))
    {
    List<QuickFastPage> _Test = new List<QuickFastPage>();

    DataContractJsonSerializer _Json = new DataContractJsonSerializer(_Test.GetType());
    byte[] _Using = System.Text.Encoding.UTF8.GetBytes(pagePostData);
    System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);
    _MemoryStream.Position = 0;

    _Test = (List<QuickFastPage>)_Json.ReadObject(_MemoryStream);
    }

    }
    }
    }
    }

    转载于:https://www.cnblogs.com/kexb/p/4633806.html

    展开全文
  • Java读取json数组转化List或Object数组

          在之前的开发中经常遇到将List或Array转换成json传递到web前端,

    供前端显示,但是今天我遇到了一个需要将json数组传递到后台,并在后

    台转换成list的问题。为此我花费了一段较长的时间,为此我写下这篇博客。

         首先是在前端用js构造json数组,html代码如下:

    <TABLE style="width: 900px" id="table">
    <pre name="code" class="html">    <tr id="trHtml">
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="虚拟账号" />:</label></TD>
    	<TD><input type="text" id="payAccNo"  name="payAccNo" vui-name="payAccNo" style="width:100px;" autocomplete="off"/></TD>
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="科目号" />:</label></TD>
    	<TD>
    	<input type="text" id="glCode"  name="glCode" vui-name="glCode" style="width:100px;" autocomplete="off"/>
    	</TD>
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="货币类型" /><span style="color:red;"> *</span>:</label></TD>
    	<TD>
    	<select id="ccy" name="ccy" class="ccy" style="width:80px;text-align: center;"  vui-name="ccy"  vui-validate="required:true" > 
    	</select>
    	<TD/>
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="金额" /><span style="color:red;"> *</span>:</label></TD>
    	<TD>
    	<input type="text" id="amount" name="amount" style="width:80px;"  vui-name="amount"  vui-validate="required:true,type:number" /> 
    	<TD/>
    	<td class="tdlabel" nowrap="nowrap"><label><ju:txt value="摘要"/><span style="color:red;"> *</span>:</label></TD>
    	<TD>
    	<textarea id="remark" name="remark" style="width:200px;"  vui-name="remark"  vui-validate="required:true,maxlen:20"> </textarea>
    	<TD/>
    	<TD style="padding-left:35px;">
    	<img id="create" src="img/create.png" style="margin-right:10px"/>
    	<TD/>
    	<TD style="padding-left:15px;">
    	<img id="delete"  src="img/delete.png"/>
    	<TD/>
       </tr>				
    </TABLE>
    
    在需求中需要动态添加和删除tr中的内容以增加一行输入项,为此有如下js代码:
    //绑定添加
    			addHTML="<tr>"+$("#trHtml").html()+"</tr>";
    			$("#handworkAccountForm").find($("#create")).each(function(){
    				$("#create").die("click");
    				$("#create").live("click",function(){
    					$("#table").append(addHTML);
    					$(".ccy:last").html(modelsHTML);   
    				});
    			});
    // 			
    			//绑定删除
    			$("#handworkAccountForm").find($("#delete")).each(function(){
    				$("#delete").live("click",function(){
    					if($("#table tr").length==1){
    						return
    					}
    					$(this).parent().parent().remove();
    				});
    			});
    其中addHTML是select中的option项,是用ajax从后台load出来的,此处忽略。

          其次,需要用js获取个tr项中的输入,构造成json数组,代码如下:

    var saveHandworkAccount = function() {
    			var jsonData={"resourceID":"2020004"};
    			var handworkAccountList=new Array;
    			var jsonStr="";
    			$("#table tr td input,select,textarea").each(function(i){
    				var name=$(this).attr("name");
    				var value=$(this).val();
    				jsonStr=jsonStr+"\""+name+"\":"+"\""+value+"\""+",";
    				if(i%4==0&i!=0){
    					jsonStr="{"+jsonStr.substring(0,jsonStr.length-1)+"}";
    					var a=jQuery.parseJSON(jsonStr);
    					handworkAccountList.push(a);
    					jsonStr="";
    				}
    			});
    			jsonData["handworkAccountList"]=JSON.stringify(handworkAccountList);
    			$.vAjax({
    				url : "handworkAccountProcess.json",
    				data : jsonData,
    				dataType:"json",
    				success : function(data) {
    					if(data.errorMsg){
    						alert(data.errorMsg);
    						return;
    					}
    					if(data.info){
    						alert(data.info);
    						location.reload(); 
    					}else{
    						alert("操作失败");
    					}
    				},
    				error : function(jqXhr, textStatus, error) {
    					alert("加载页面失败!");
    				}
    			});
    		};
    构造出来的json格式如下:
    {
        "handworkAccountList": [
            {
                "payAccNo": "122",
                "glCode": "333",
                "ccy": "CNY",
                "amount": "44",
                "remark": " 5555"
            },
            {
                "payAccNo": "5555",
                "glCode": "6666",
                "ccy": "CNY",
                "amount": "888"
            }
        ],
        "resourceID": 2020004
    }
          最后是后台获取,代码如下:
    public void addHandworkAccount(Context context) {
            logger.debug("Start addHandworkAccount...");
            Map<String, Object> request = this.getRequestData();
            Map<String, Object> response = this.getResponseData();
            Object handworkAccountList = request.get("handworkAccountList");
            String json = handworkAccountList.toString();
            JSONArray array = JSONArray.fromObject(json);
            List<HandworkAccountDto>  dtoList=new ArrayList<HandworkAccountDto>();
            for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                dtoList.add((HandworkAccountDto) JSONObject.toBean(jsonObject, HandworkAccountDto.class));
            }
            logger.debug("addHandworkAccount success...");
        }

    其中List<HandworkAccountDto> 也可以是Object数组,HandworkAccountDto

    是数据传输对象,用来封装前端传递的参数,代码如下:

    public class HandworkAccountDto implements Serializable {
    
        protected String payAccNo;
        protected String glCode;
        protected String ccy;
        protected BigDecimal amount;
        protected String remark;
    
        //....省略get,set方法
    }

    至此,Java读取json数组转化成List或Object数组的案例完成。


         



    展开全文
  • Json数据类型: { "R": true, "Data": [{ "MediaId": "mda-jgnhc31mzuusbtf0", "CreateTime": "2019-07-23T04:15:03", "ThumbnailList": "http://hkis8fu79qxvstcacx5.exp.bcevod...

        

    Json数据类型:

    {
        "R": true,
        "Data": [{
            "MediaId": "mda-jgnhc31mzuusbtf0",
            "CreateTime": "2019-07-23T04:15:03",
            "ThumbnailList": "http://hkis8fu79qxvstcacx5.exp.bcevod.com/mda-jgnhc31mzuusbtf0/mda-jgnhc31mzuusbtf0.jpg",
            "VideoUrl": "http://hkis8fu79qxvstcacx5.exp.bcevod.com/mda-jgnhc31mzuusbtf0/mda-jgnhc31mzuusbtf0.mp4",
            "SizeInBytes": 409088621.0,
            "DurationInSeconds": 1303
        }]
    }
     

     

    实体类:  public class VideoRecord
        {
            public string MediaId { get; set; }
            public string CreateTime { get; set; }
            public string ThumbnailList { get; set; }
            public string VideoUrl { get; set; }
            public string SizeInBytes { get; set; }
            public string DurationInSeconds { get; set; }
        }

     

     

    方法:

     

    string Url = "https://hy.cnki.net/api/GetBDVideo/Get?MeetingCode=77bf90b7-60c1-44c1-9f08-811e9351f718";

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
                request.Proxy = null;
                request.KeepAlive = false;
                request.Method = "GET";
                request.ContentType = "application/json; charset=UTF-8";
                request.AutomaticDecompression = DecompressionMethods.GZip;

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream myResponseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
                string retString = myStreamReader.ReadToEnd();


                myStreamReader.Close();
                myResponseStream.Close();

                JObject alive = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(retString);

                string value = alive["Data"].ToString();
              

                JavaScriptSerializer Serializer = new JavaScriptSerializer();
                List<VideoRecord> objs = Serializer.Deserialize<List<VideoRecord>>(value);

     

      

    展开全文
  • JsonArray jsonArray= request.getJsonArray("data");//需要转换的json数组 List<JSOnObject> = deviceList = (List<DeviceAddDyn>) jsonArray.toCollection(jsonArray, JSOnObject.class);
  • 问题描述:java json数组转化为对象集合时,对象的时间一直是系统当前时间,而不是json数组中的时间 解决方法: 在原有代码上追加如图所示代码,数据正常 参考链接: ...depth_1-utm_so
  • object obj = Newtonsoft.Json.JsonConvert.DeserializeObject(phoneApps, typeof(List<PhoneApp>)); //使用Newtonsoft装换 phoneAppList = (List<PhoneApp>)obj; //再强制转化一下 ...
  • maven 地址 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId>...json数组list public class Parite { private String cz; ...
  • 该实例代码主要用于处理json中带有对象数组及程序希望忽视一些对象数组的情况。public static List pareJson(String json,Class class1){ List list=Lists.newArrayList(); try{ JsonConfig config = new ...
  • public static <T> List<T> getJsonData(Object obj,Class clazz){ //TODO 怎么从 T 中获取 class ?? //TODO 要不然就可以不要 clazz 参数 了 //TODO 现在不伦不类的 //TODO 这个泛型用的没多大的作用 ...
  • List<PhoneApp> phoneAppList = new List<PhoneApp>... object obj = Newtonsoft.Json.JsonConvert.DeserializeObject(phoneApps, typeof(List<PhoneApp>)); //使用Newtonsoft...
  • 如何使用Newtonsoft.NET将JSON数组转化成C#匿名类集合? var url = ""; var patientMsg = await httpClient.GetStringAsync($"{url}?BingQuDM=1"); //1.转义后的Json 字符串 patientMsg = "{\"Rows\":[{\...
  • 记一下后端传来前端的Json数组 转换 为list对象 前两天搞一个项目的时候,需要从前端传来一个对象,后端去接收,前端格式是这样的 $.ajax({ url:'/delivery/checkDeliveryExist.mvc', type:'post', ...
  • list转化为json数组

    2019-09-27 02:54:31
    今天做项目,用Thrift获取数据,在servlet里面获取的是数组,但是通过Ajax传输到js文件里是一个list,我获取长度失败,这个时候需要将list转化为json数组,我们可以通过eval()函数实现 var 一个Array,将获取到得...
  • JSON数组转换为List<Map>

    千次阅读 2019-09-25 13:30:18
    1.List<Map<String,String>> listObjectSec = JSONArray.parseObject(strArr,List.class); for(Map<String,String> mapList : listObjectSec){ for(Map.Entry entry : mapList.ent...
  • JSON数组转换为List对象

    千次阅读 2015-06-16 17:31:57
    public static void main(String[] ...String recipt_list_json = "[{'partner':'00001','partner_fund_no':'0002','sp_user':'test','transaction_id':'12345678','out_trade_no':'77777','receipt_name':'回...
  • json数组转换成list的两种方式

    千次阅读 2020-06-12 16:18:49
    //第一种是通过传统json解析的方法 把json数组转换成list List<ClassCircleEntity.CommentEntity> commentList = new ArrayList<>(); if (!TextUtils.isEmpty(commentlistjson)) { JsonArray json...
  • JSON数组:[{'count':1,'no':'000001'},{'count':1,'no':'000001'}] 创建了一个匿名类: var dt = new{ count = 0, no = "" } 使用JsonConvert.DeserializeAnonymousType反序列化怎么 得到匿名对象集合?
  • json数组转换为List java

    2013-11-30 10:37:15
    import org.codehaus.jackson.map.ObjectMapper;...List<AuditionParameterSettingsDto> beanList1 = objectMapper.readValue(auditionParameterSettings, new TypeReference<List<AuditionParameterSettingsDto>>() {
  • net.sf.json.JSONObject jsonObj = new net.sf.json.JSONObject(); net.sf.json.JSONArray reObj = net.sf.json.JSONArray.fromObject(XXXList);...也可以先转换成map,再把值取出来发到list
  • ajax使用json数组------前端往后台发送json数组及后台往前端发送json数组 1.引子 Json是跨语言数据交流的中间语言,它以键/值对的方式表示数据,这种简单明了的数据类型能被大部分编程语言理解。它也因此是前后端...
  • java中获取json中的数组转化为List<E>

    万次阅读 2018-03-27 08:55:27
    JSONObject jsonObject = JSON.parseObject(json); JSONArray array = jsonObject.getJSONArray("V_PACS4ORIN"); List&lt;Gdpengine&gt; rules = new ArrayList&lt;Gdpen...
  • 需求:有以下json数组字符串 [{"user_acc":"123","user_password":"123","user_name":"张飞","user_workcell":"JW007","user_role_id":1,}, {"user_acc":"admin","user_password":"1","user_name":"系统管理员",...
  • Pandas to_json() 中文乱码,转化为json数组

    万次阅读 热门讨论 2017-07-16 22:43:31
    也就是\uXXXXXX的形式,翻了翻官网文档,查了源码的参数,(多谢网友提醒)需要设置js001 = df1.to_json(force_ascii=False),即可显示中文编码以下是原文的额外内容,DataFrame 转化为json数组于是决定自己写一个....
  • JSON数组转Java List

    千次阅读 2016-10-24 23:17:00
    本文使用alibaba开源项目fastjson与SourceForge开源项目JSON-lib两种方法转换json。 现有json文件user.json如下: [ { "userid": "309BCCE3-8525-4D33-9856-5084E24FD96F", "username": "林梦", "password": "19...
  • json数组转为list

    2019-04-27 14:18:51
    1、 //解析json数组 System.out.println("productDetail:>"+productDetail); JSONArray jsonArray = JSONArray.fromObject(productDetail); List list = (List)JSONArray.toList...
  • json数组List转换

    2019-03-05 14:48:45
    json数组List转换 使用的是json-lib.jar包 将json格式的字符数组转为List对象 packagehb; importjava.util.Date; publicclassPerson{ Stringid; intage; Stringname; Datebirt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,296
精华内容 9,718
关键字:

json数组转化为list