如何将列表作为JSON的键?
如何在JSON中使用列表作为键?
JSON语法规则明确规定:对象的键只能是字符串类型,所以直接用数组(列表)作为键是无效的,就像你给出的示例那样。要实现类似需求,有两种常用方案:
方案1:将列表转换为字符串作为键
把列表序列化为字符串格式(比如JSON字符串或自定义分隔的字符串),用这个字符串作为键。读取数据时再把字符串解析回列表即可。
示例1(用JSON字符串作为键):
{ "[1, 2]": ["foo", "bar"] }
示例2(用逗号分隔的简洁字符串作为键):
{ "1,2": ["foo", "bar"] }
方案2:调整数据结构
放弃用列表当键的思路,改用嵌套结构存储关联关系。比如把列表和对应的值包装成对象,再放到数组里:
[ { "key": [1, 2], "value": ["foo", "bar"] }, { "key": [3, 4], "value": ["baz", "qux"] } ]
这种结构更符合JSON的设计规范,也更容易被各类JSON解析库处理。
内容的提问来源于stack exchange,提问作者Intrastellar Explorer
相关产品推荐
相关产品推荐

