json数组字符串转集合

package com.zkn.newlearn.json;
 
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
 
import java.util.List;
import java.util.Map;
 
/**
 * Created by zkn on 2016/8/22.
 */
public class JsonToMapTest02 {
 
    public static void main(String[] args){
 
        String strArr = "[{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," +
                "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}]";
        //第一种方式
        List<Map<String,String>> listObjectFir = (List<Map<String,String>>) JSONArray.parse(strArr);
        System.out.println("利用JSONArray中的parse方法来解析json数组字符串");
        for(Map<String,String> mapList : listObjectFir){
            for (Map.Entry entry : mapList.entrySet()){
               System.out.println( entry.getKey()  + "  " +entry.getValue());
            }
        }
        //第二种方式
        List<Map<String,String>> listObjectSec = JSONArray.parseObject(strArr,List.class);
        System.out.println("利用JSONArray中的parseObject方法并指定返回类型来解析json数组字符串");
        for(Map<String,String> mapList : listObjectSec){
            for (Map.Entry entry : mapList.entrySet()){
                System.out.println( entry.getKey()  + "  " +entry.getValue());
            }
        }
        //第三种方式
        JSONArray listObjectThir = JSONArray.parseArray(strArr);
        System.out.println("利用JSONArray中的parseArray方法来解析json数组字符串");
        for(Object mapList : listObjectThir){
            for (Object entry : ((Map)mapList).entrySet()){
                System.out.println(((Map.Entry)entry).getKey()  + "  " +((Map.Entry)entry).getValue());
            }
        }
        //第四种方式
        List listObjectFour = JSONArray.parseArray(strArr,Map.class);
        System.out.println("利用JSONArray中的parseArray方法并指定返回类型来解析json数组字符串");
        for(Object mapList : listObjectFour){
            for (Object entry : ((Map)mapList).entrySet()){
                System.out.println(((Map.Entry)entry).getKey()  + "  " +((Map.Entry)entry).getValue());
            }
        }
        //第五种方式
        JSONArray listObjectFifth = JSONObject.parseArray(strArr);
        System.out.println("利用JSONObject中的parseArray方法来解析json数组字符串");
        for(Object mapList : listObjectFifth){
            for (Object entry : ((Map)mapList).entrySet()){
                System.out.println(((Map.Entry)entry).getKey()  + "  " +((Map.Entry)entry).getValue());
            }
        }
        //第六种方式
        List listObjectSix = JSONObject.parseArray(strArr,Map.class);
        System.out.println("利用JSONObject中的parseArray方法并指定返回类型来解析json数组字符串");
        for(Object mapList : listObjectSix){
            for (Object entry : ((Map)mapList).entrySet()){
                System.out.println(((Map.Entry)entry).getKey()  + "  " +((Map.Entry)entry).getValue());
            }
        }
        //第七种方式
        JSONArray listObjectSeven = JSON.parseArray(strArr);
        System.out.println("利用JSON中的parseArray方法来解析json数组字符串");
        for(Object mapList : listObjectSeven){
            for (Object entry : ((Map)mapList).entrySet()){
                System.out.println(((Map.Entry)entry).getKey()  + "  " +((Map.Entry)entry).getValue());
            }
        }
        //第八种方式
        List listObjectEigh = JSONObject.parseArray(strArr,Map.class);
        System.out.println("利用JSON中的parseArray方法并指定返回类型来解析json数组字符串");
        for(Object mapList : listObjectEigh){
            for (Object entry : ((Map)mapList).entrySet()){
                System.out.println(((Map.Entry)entry).getKey()  + "  " +((Map.Entry)entry).getValue());
            }
        }
    }
}

转自:https://gitee.com/wefashe/codes/jrvmqy5opfsgktw4089i110

### 将 JSON 数组字符串换为 Python 列表 在 Python 中,可以利用 `json` 模块中的 `json.loads()` 函数来将表示 JSON 数组字符串解析为 Python 的列表对象。此方法适用于标准的 JSON 字符串格式。 以下是具体实现方式: #### 使用 `json.loads()` 解析 JSON 数组字符串 ```python import json # 假设有一个 JSON 数组形式的字符串 json_str = '["apple", "banana", "cherry"]' # 调用 json.loads() 进行解析 result_list = json.loads(json_str) print(result_list) # 输出: ['apple', 'banana', 'cherry'] ``` 通过上述代码可以看出,`json.loads()` 可以轻松地将 JSON 格式的字符串化为对应的 Python 数据结构,在这里是列表[^1]。 如果遇到嵌套的复杂数据结构,例如包含字典或其他类型的组合,该方法同样适用: ```python complex_json_str = '[{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]' parsed_data = json.loads(complex_json_str) print(parsed_data) # 输出: [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}] ``` 需要注意的是,输入的字符串必须严格遵循 JSON 格式;否则会抛出异常。例如,单引号 `'` 不被允许作为键或值的包裹符号,而双引号 `" "` 是必需的[^4]。 #### 处理非标准 JSON 字符串的情况 对于不符合 JSON 规范的字符串(比如使用了单引号),可以通过预处理将其调整为合法的 JSON 格式后再调用 `json.loads()`。一种常见的方式是替换非法字符或者手动修正语法错误。 示例代码如下所示: ```python non_standard_json = "['item1', 'item2', 'item3']" standard_json = non_standard_json.replace("'", '"') # 替换单引号为双引号 converted_list = json.loads(standard_json) print(converted_list) # 输出: ['item1', 'item2', 'item3'] ``` 这种方法能够有效解决部分不合规的字符串问题,但需谨慎操作以免引入新的错误[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值