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

如何从响应负载的JSON字符串中读取status字段值

解析嵌套JSON响应提取指定字段的实现方法

给定的响应负载中,response字段是一个非标准JSON格式的字符串(使用单引号),需要解析该字符串后提取两个值:

  • UsersList数组内用户的status值(如示例中的"Active")
  • 内层JSON结构的外层status值(如示例中的0)

Python 实现

import json
from ast import literal_eval

# 原始响应负载
response_payload = {
    "signature": "1hdj12493039282849922",
    "response": "{'UsersList':[{'userName':'Madan Jones','mobileNumber':'767780987','status':'Active','statusCode':null}],'status':0,'messageCode':null,'message':null,'errorMap':null}"
}

# 提取内层JSON字符串
inner_json_str = response_payload["response"]

# 解析内层字符串(用literal_eval兼容单引号格式,或替换单引号为双引号后用json.loads)
inner_data = literal_eval(inner_json_str)
# 替代方案:inner_data = json.loads(inner_json_str.replace("'", "\""))

# 获取目标值
user_status = inner_data["UsersList"][0]["status"]
outer_status = inner_data["status"]

print(f"用户状态: {user_status}")
print(f"内层响应状态码: {outer_status}")

JavaScript 实现

// 原始响应负载
const responsePayload = {
    "signature": "1hdj12493039282849922",
    "response": "{'UsersList':[{'userName':'Madan Jones','mobileNumber':'767780987','status':'Active','statusCode':null}],'status':0,'messageCode':null,'message':null,'errorMap':null}"
};

// 提取内层JSON字符串
const innerJsonStr = responsePayload.response;

// 将单引号替换为双引号,符合标准JSON格式
const formattedInnerStr = innerJsonStr.replace(/'/g, '"');

// 解析内层字符串为对象
const innerData = JSON.parse(formattedInnerStr);

// 获取目标值
const userStatus = innerData.UsersList[0].status;
const outerStatus = innerData.status;

console.log(`用户状态: ${userStatus}`);
console.log(`内层响应状态码: ${outerStatus}`);

注意事项

  • 内层字符串使用单引号,不符合标准JSON规范,解析前需做格式兼容处理(替换单引号或使用兼容解析工具)。
  • 若UsersList包含多个用户,可通过遍历数组获取每个用户的status值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 07:36:33