Apex REST数据源无法识别嵌套列,求解析器问题解决方案
Apex无法识别REST数据源嵌套结构的解决方法
常见问题排查与处理方案
匹配JSON结构定义Apex类
必须定义与JSON层级完全对应的Apex包装类,才能正确解析嵌套结构。针对你的JSON示例,对应的类如下:public class CategoryWrapper { public List<String> names; } public class ResponseWrapper { public CategoryWrapper categories; }解析代码示例:
String jsonResp = '{"categories": {"names": ["XYZ", "ABC"]}}'; ResponseWrapper parsedResp = (ResponseWrapper)JSON.deserialize(jsonResp, ResponseWrapper.class); // 可通过parsedResp.categories.names访问数组内容修正数据配置文件的字段映射
若配置文件出现异常,检查嵌套字段的引用路径是否正确。比如要获取names数组,需使用categories.names作为字段路径,而非直接使用names。校验JSON格式合法性
看似正常的JSON可能存在不可见字符、引号不匹配或语法错误,先通过JSON校验工具确认数据源格式完全合规。手动解析定位问题
自动映射失败时,用JSONParser手动解析来排查具体环节:JSONParser parser = JSON.createParser(jsonResp); while (parser.nextToken() != null) { if (parser.getCurrentToken() == JSONToken.FIELD_NAME && parser.getText() == 'names') { parser.nextToken(); while (parser.nextToken() != JSONToken.END_ARRAY) { System.debug('解析到名称:' + parser.getText()); } } }
内容的提问来源于stack exchange,提问作者MateuszDurak
相关产品推荐
相关产品推荐

