Java 字符串转成 JsonArray 并遍历

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

字符串内容如下

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

字符串转换为 JSONArray ,即JSON数组,转换方式如下
JSONArray json = JSONArray.fromObject(str ); // 首先把字符串转成 JSONArray  对象

对 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")+"=") ;  // 得到 每个对象中的属性值
}
}



  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 JSON 解析库将一个 Java 字符串换为 JSON 数组(JSONArray),然后遍历数组中的每个元素。以下是使用 JSON.simple 库将字符串换为 JSON 数组并遍历的示例代码: ```java import org.json.simple.JSONArray; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class StringToJsonArrayExample { public static void main(String[] args) { // 要换的字符串 String jsonString = "[{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":30}]"; try { // 解析字符串JSON 数组 JSONArray jsonArray = (JSONArray) new JSONParser().parse(jsonString); // 遍历数组并输出每个元素 for (Object obj : jsonArray) { System.out.println(obj); } } catch (ParseException e) { e.printStackTrace(); } } } ``` 以上代码将输出以下结果: ``` {"name":"Alice","age":25} {"name":"Bob","age":30} ``` 如果你想获取每个元素中的具体字段值,可以将遍历到的元素换为 JSONObject,然后通过字段名获取字段值。以下是示例代码: ```java import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class StringToJsonArrayExample { public static void main(String[] args) { // 要换的字符串 String jsonString = "[{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":30}]"; try { // 解析字符串JSON 数组 JSONArray jsonArray = (JSONArray) new JSONParser().parse(jsonString); // 遍历数组并输出每个元素的 name 字段值 for (Object obj : jsonArray) { JSONObject jsonObj = (JSONObject) obj; String name = (String) jsonObj.get("name"); System.out.println(name); } } catch (ParseException e) { e.printStackTrace(); } } } ``` 以上代码将输出以下结果: ``` Alice Bob ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值