如何将包含字典列表结构的字符串转换为原生列表类型
JSON格式字符串转原生列表方法
你手上的字符串是标准JSON结构的数组序列化结果,用对应语言的JSON解析能力就能直接转成原生列表/数组类型,几种最常用语言的实现方式:
- Python
用内置的json标准库即可,无需安装第三方依赖,示例代码:import json source_str = '''"[ { "name" : "name_1", "codes" : ["some_code_1", "some_code_2"] }, { "name" : "name_2", "codes" : ["some_code_1", "some_code_2"] }
]"'''
你给出的示例字符串首尾额外包了一层双引号,先把这层多余引号去掉再解析
source_str = source_str.strip('"')
转换完成后就是Python原生list类型
native_list = json.loads(source_str)
- JavaScript/TypeScript 直接调用内置的`JSON.parse`全局方法即可,不需要额外引入依赖: ```javascript let sourceStr = `"[ { "name" : "name_1", "codes" : ["some_code_1", "some_code_2"] }, { "name" : "name_2", "codes" : ["some_code_1", "some_code_2"] } ]"` // 同样先去掉首尾多余的包裹引号 sourceStr = sourceStr.replace(/^"|"$/g, '') // 转换后得到JS原生数组 const nativeArray = JSON.parse(sourceStr)
- Go
用标准库encoding/json即可完成解析,示例代码:package main import ( "encoding/json" "strings" ) func main() { sourceStr := `"[ { "name" : "name_1", "codes" : ["some_code_1", "some_code_2"] }, { "name" : "name_2", "codes" : ["some_code_1", "some_code_2"] } ]"` // 去掉首尾多余的包裹引号 sourceStr = strings.Trim(sourceStr, `"`) var nativeList []map[string]interface{} json.Unmarshal([]byte(sourceStr), &nativeList) // nativeList就是Go原生的切片(列表)类型 }
其他编程语言的实现逻辑一致:先清理字符串首尾多余的包裹引号、非法转义字符,再调用对应语言的标准JSON解析方法,就能得到对应的原生列表类型。
内容的提问来源于stack exchange,提问作者Kristina
相关产品推荐
相关产品推荐

