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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android的layout_android:layout_weight

    android的layout_android:layout_weight一、前期基础知识储备首先看几个使用LayoutParams的实例:1、《Android开发艺术探索》第8章,Java代码中动态设置按钮时通过LayoutParams参数设置按钮位置x、y参数及Gravity位置信息,从而动态的添加进一个随手势移动的按钮,类似于悬浮窗效果。publicvoidonButtonClick(Viewview){if…

    2025年12月6日
    2
  • wlan、wifi、蜂窝、无线局域网的区别「建议收藏」

    wlan、wifi、蜂窝、无线局域网的区别「建议收藏」1、WLAN跟无线局域网是相同概念,WLAN是缩写。2、无线局域网,英文全名:WirelessLocalAreaNetworks;简写为:WLAN。它相当便利的数据传输系统,它利用射频(RadioFrequency;RF)的技术,使用电磁波取代旧式双绞铜线(Coaxial)所构成的局域网络,在空中进行通信连接,使得无线局域网络能利用简单的存取架构让用户透过它,达到信息随身化。3、Wi-Fi,中文名无线保真,是一种可以将个人电脑、手持设备(如iPad、手机)等终端以无线方式互相连接的技术

    2022年7月11日
    97
  • C语言实现五子棋小游戏

    C语言实现五子棋小游戏三子棋,五子棋,无论多少子棋,其原理都是一样的。下面我用五子棋为例讲解用C语言多文件编程实现五子棋。设计电脑和玩家两个作为下棋的两方,用键盘输入作为玩家的游戏操作。1.效果图:程序总的构架:我们只要输入坐标就可以和电脑对弈了。电脑的棋子用‘0’表示,玩家的棋子用‘x’表示。2.打印菜单可以根据自己的爱好设计各种风格的…

    2022年5月12日
    43
  • 物联网服务器_物联网接口

    物联网服务器_物联网接口一、第一次上线本主机于2018年12月23日正式上线,初装了4个设备,管理474只表,由于是手抄改网络抄表不是新安装,考虑到人工再去布线的成本远高于设备成本,因此多用了几个设备,每个设备通道都没有用完。1、设备号为663183的设备在安装后有一个通道在抄读水表的时候有短路发生,那是因为…

    2022年8月31日
    3
  • idea中类中显示成员变量和方法

    idea中类中显示成员变量和方法idea默认是没有显示一个类中的方法和成员变量的。通过勾选Show Members就会显示类中方法。

    2022年6月13日
    117
  • pytest parametrize fixture_参数化查询

    pytest parametrize fixture_参数化查询前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月31日
    5

发表回复

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

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