json字符串数组转json数组

json字符串数组转json数组当需要把一串字符串转成一个json数组,并遍历其中的内容时。首先要导入net.sf.json.JSONArray和net.sf.json.JSONObject两个jar包<dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><c

大家好,又见面了,我是你们的朋友全栈君。

当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时。
首先要导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包

<dependency>
   <groupId>net.sf.json-lib</groupId>
   <artifactId>json-lib</artifactId>
   <version>2.4</version>
   <classifier>jdk15</classifier>
</dependency>
  

String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ; // 一个未转化的字符串

JSONArray json = JSONArray.fromObject(str ); // 首先把字符串转成 JSONArray 对象
if(json.size()>0){ 
   
  for(int i=0;i<json.size();i++){ 
   
    JSONObject job = json.getJSONObject(i);  // 遍历 jsonarray 数组,把每一个对象转成 json 对象
    System.out.println(job.get("name")+"=") ;  // 得到 每个对象中的属性值
  }
}

前端页面json数组转为字符串

var contracts = [
   { 
   id: '1', name: 'yanggb合同1'},
   { 
   id: '2', name: 'yanggb合同2'},
   { 
   id: '3', name: 'yanggb合同3'},
   { 
   id: '4', name: 'yanggb合同4'},
   { 
   id: '5', name: 'yanggb合同5'}
];

JSON.stringify()方法将数组转换为JSON数组字符串
JSON.parse()方法把JSON字符串解析为json对象

$.ajax({ 
   
    type: 'post',
    url: 'contract\save',
    data: { 
   contracts: JSON.stringify(contracts)},
    success: function() { 
   
        console.log('保存合同成功!');
    }
});
@PostMapping(value = "/contract/save")
@ResponseBody
public void saveContracts(String contracts) { 
   
    List<Contract> contractList = JSON.parseArray(contracts, Contract.class);
    // 保存操作
}

封装成json数据

function demo(){ 
   
  var con = { 
   };
  con["id"] = 0;
  con["name"] = '张三';
  con["job"] = '学生';
  var json = JSON.stringify(con);          
  alert("封装成json数据为:"+json);  
}

最终结果为:{ 
   "id":0,"name":"张三","job":"学生"}

封装成json数组

function arr(){ 
   
  //定义一个数组 
  var cons = new Array(3); 
  for(var i = 0;i<3;i++){ 
   
    var con = { 
   };
    con["id"] = 0;
    con["name"] = '张三';
    con["job"] = '学生';
    cons[i] = con;
  }
  var json = JSON.stringify(cons);
  alert("json数组为:"+json); 
}
  最终结果为:[{ 
   "id":0,"name":"张三","job":"学生"},{ 
   "id":0,"name":"张三","job":"学生"},{ 
   "id":0,"name":"张三","job":"学生"}]

map转为实体

  <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.70</version>
        </dependency>
 Map<String,Object> map=new HashMap<>();
 map.put("hotId","dfasfaf454af");
 map.put("hotName","小明");
 map.put("hotKey","5464132645");
 map.put("isDelete","1");
 map.put("hotStatus","0");
 String mapString = JSONObject.toJSONString(map);
 Hop hop = JSONObject.parseObject(mapString, Hop.class);
 System.out.println(hop.toString());   
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151832.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • selenium3.0不用代理的情况下,获取异步请求的数据

    selenium3.0不用代理的情况下,获取异步请求的数据最近爬取一个网站的时候,反爬比较厉害,各种弹窗,各种验证码,无限debugger,关键数据是ajax请求异步加载的。使用代理绕过前面几种反爬后,获取ajax的request和response成了头疼的问题,最终使用selenium的network日志分析来解决。为了方便以后使用,写了一个工具类:importjsonfromseleniumimportwebdriverfromselenium.webdriverimportDesiredCapabilitiesdefget

    2022年7月26日
    7
  • aria2最新tracker服务器,Aria2自动更新BT Tracker服务器列表的方法「建议收藏」

    aria2最新tracker服务器,Aria2自动更新BT Tracker服务器列表的方法「建议收藏」说明公开的BTtracker服务器,因为种种原因总会经常失效,要想获取更多的peer需要经常维护这份列表。感谢github上的小伙伴提供了这么一份tracker自动更新列表:https://github.com/ngosang/trackerslist。我们要想Aria2也支持自动更新这份列表,那么你可以按照下面方法来实现。关于Aria2安装使用教程可参考:https://www.moerats…

    2022年6月16日
    592
  • 好用的Redis客户端操作工具[通俗易懂]

    好用的Redis客户端操作工具[通俗易懂]日常开发过程中,项目常常都会使用Redis来做缓存或者Session服务器,为了更直观方便,开发者常常会使用一些可视化工具,如RedisDesktopManager、RedisClent等,但界面UI做得不尽人意,作为当今时代,对软件的UI还是有所期待的,今天给大家分享一款,高颜值、功能强大的Redis客户端工具。AnotherRedisDesktopManager一个更快、更好、更稳定的redis桌面管理工具,可以运行于Linux、Windows、Mac三大平台,并且当加载大数量的key不.

    2022年6月5日
    27
  • jdbc是数据库连接池么_java的jdbc连接数据库

    jdbc是数据库连接池么_java的jdbc连接数据库JDBC简介,driver类型,JDBC连接,使用技巧;连接,短连接,长连接,连接池;池化思想;配置,基本配置,关键配置,性能配置;连接池工具;druid;HikariCP;flexy-pool;

    2022年9月17日
    4
  • oracle创建索引和删除索引

    oracle创建索引和删除索引创建CREATEINDEXindex_Trans_list(索引名)ONTrans_list(表名) (receivedepid(字段名))删除dropindexindex_Trans_list(索引名)

    2025年9月14日
    8
  • 基于matlab的直流电机仿真,基于MATLAB的无刷直流电机控制系统仿真

    基于MATLAB的无刷直流电机控制系统仿真(论文10000字)摘要:本论文主要关注无刷直流电机的调速控制系统,学习此电机的运行原理和PWM控制方法,简述了调速的概念、控制原理与方法、现状,并且学习并使用无刷直流电机的换相控制方法,并对无刷直流电动机调速系统进行设计。并通过Simulink来建模仿真和实验模拟得知电机的运行情况,并且根据仿真结果对无刷直流电机开始学习分析,从而达到对无刷直流电机的转速…

    2022年4月11日
    86

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号