如何使用Newtonsoft解析指定JSON并访问"2003"字段?
嘿,这个问题我碰到过好多次了!你的JSON里的键是"2003"这种数字形式的字符串,直接用常规的点语法访问会出问题,得换个方式来拿值。下面给你几个主流编程语言的具体操作方法:
解决方法:用方括号语法访问数字字符串键
JavaScript
在JavaScript中,对象的键如果是数字开头或者非标准标识符的字符串,不能用.来访问,必须用方括号+字符串键的形式:
const yourData = {"2003": [ null, "L1qyqggJ32FLmM", "https://www.ecstasycoffee.com/37-awesome-silver-and-white-christmas-tree-decorating-ideas-inspirations/", "37+ Awesome Silver And White Christmas Tree Decorating Ideas ...", null, null, null, "https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSFBSzxWz5xAj2cd8lJPr0MZzrhA-rFJQ8IolK9Y6ewe2_2Y9ZL", null, false, null, null, "EcstasyCoffee" ] }; // 正确获取"2003"字段的值 const targetValue = yourData["2003"]; console.log(targetValue); // 输出对应的数组
Python
Python的字典处理这种情况更直接,直接用方括号包裹字符串形式的键即可:
your_data = {"2003": [ None, "L1qyqggJ32FLmM", "https://www.ecstasycoffee.com/37-awesome-silver-and-white-christmas-tree-decorating-ideas-inspirations/", "37+ Awesome Silver And White Christmas Tree Decorating Ideas ...", None, None, None, "https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSFBSzxWz5xAj2cd8lJPr0MZzrhA-rFJQ8IolK9Y6ewe2_2Y9ZL", None, False, None, None, "EcstasyCoffee" ] } # 读取"2003"对应的值 target_value = your_data["2003"] print(target_value)
其他语言通用思路
如果是用Java、PHP这类语言,核心逻辑是一致的:
- Java:
HashMap<String, Object> yourData = ...; Object targetValue = yourData.get("2003"); - PHP:
$yourData = ...; $targetValue = $yourData["2003"];
本质就是用字符串形式的键,通过对应语言的键值对访问方法(方括号或get方法)来获取值,避免用点语法(因为数字开头的键不符合标识符命名规则)。
内容的提问来源于stack exchange,提问作者jamrud soprat
相关产品推荐
相关产品推荐

