You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman中统计fdArea数组元素数量的JSON测试报错求助

解决JSON解析错误并统计fdArea数组长度的问题

咱们先拆解下你遇到的错误根源:

  • 你的测试脚本里JSON.parse()没有传入任何要解析的内容,这本身就不符合语法要求;
  • 更关键的是,如果你的响应已经被测试工具自动转换成JavaScript对象了(很多接口测试工具都会默认做这件事),再强行调用JSON.parse(),就会把对象转成[object Object]这个字符串去解析——而JSON解析器根本不认这个格式,这就是你看到Unexpected token 'o'错误的原因。

下面给你两种常见场景下的正确代码:

场景1:响应已经是解析好的JS对象

如果你的测试环境里,响应已经是一个可直接访问的JavaScript对象(比如用response这类变量就能获取),直接这么写就行:

// 假设响应对象用response变量指代
var count = response.fdArea.length;
console.log(count); // 会输出预期的14

场景2:响应是未解析的JSON字符串

如果你的响应还是原始的JSON字符串(注意你提供的fdArea片段需要补全为完整的JSON对象,也就是外面用{}包裹),用下面的代码:

// 先把fdArea片段补成完整的合法JSON字符串
var responseStr = `{"fdArea": [{ "dAreaId": 2, "dArea": "Belgium", "dPrefixCode": "BE" }, { "dAreaId": 3, "dArea": " Czech", "dPrefixCode": "CZ" }, { "dAreaId": 6, "dArea": "France", "dPrefixCode": "FR" }, { "dAreaId": 4, "dArea": " Germany", "dPrefixCode": "DE" }, { "dAreaId": 7, "dArea": " Hungary", "dPrefixCode": "HU" }, { "dAreaId": 8, "dArea": "Italy", "dPrefixCode": "IT" }, { "dAreaId": 9, "dArea": "Netherlands", "dPrefixCode": "NL" }, { "dAreaId": 10, "dArea": " Poland", "dPrefixCode": "PL" }, { "dAreaId": 12, "dArea": "Slovakia", "dPrefixCode": "SK" }, { "dAreaId": 14, "dArea": "South Africa", "dPrefixCode": "ZAF" }, { "dAreaId": 5, "dArea": "Spain", "dPrefixCode": "ES" }, { "dAreaId": 11, "dArea": "Sweden", "dPrefixCode": "SE" }, { "dAreaId": 1, "dArea": " United Arab Emirates", "dPrefixCode": "ARE" }, { "dAreaId": 13, "dArea": "United Kingdom", "dPrefixCode": "UK" }]}`;
var responseJson = JSON.parse(responseStr);
var count = responseJson.fdArea.length;
console.log(count); // 同样输出14

内容的提问来源于stack exchange,提问作者Samira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:44:37