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

如何从API返回的字符串中汇总Amount字段数值?转对象失败求助

搞定API返回字符串的Amount汇总问题

嘿,我来帮你解决这个汇总Amount的难题!你之前转对象、JSON或者List失败,大概率是没找对正确的解析姿势,或者字符串格式有小问题,咱们一步步来:

先确认你的字符串格式是合法的

你给的示例字符串:

[{"username":"8000","Amount":"33","gsName":{"aa":"bb","dd":"cc"}}, {"username":"8000","Amount":"21","gsName":{"aa":"bb","dd":"cc"}}]

这个是标准的JSON数组格式,只要里面的引号都是英文双引号(不是中文的),就没问题。如果之前转换失败,先检查下是不是字符串里混了全角字符或者转义错误。

用Python快速实现汇总(简单易上手)

Python处理JSON超方便,直接用内置的json模块就行,试试这段代码:

import json

# 把API返回的字符串粘这里
api_str = '[{"username":"8000","Amount":"33","gsName":{"aa":"bb","dd":"cc"}}, {"username":"8000","Amount":"21","gsName":{"aa":"bb","dd":"cc"}}]'

try:
    # 把字符串转成Python列表
    data = json.loads(api_str)
    # 遍历每个元素,把Amount转成整数后求和
    total = sum(int(item['Amount']) for item in data)
    # 输出你要的两种格式
    print(f'amount {total}')  # 结果:amount 54
    print(total)  # 结果:54
except json.JSONDecodeError as e:
    print(f"解析失败啦,可能是格式问题:{e}")

如果用Java的话也能搞定

要是你用Java,推荐用Gson库来解析,代码如下:

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.List;
import java.util.Map;

public class SumAmount {
    public static void main(String[] args) {
        String apiResponse = "[{\"username\":\"8000\",\"Amount\":\"33\",\"gsName\":{\"aa\":\"bb\",\"dd\":\"cc\"}}, {\"username\":\"8000\",\"Amount\":\"21\",\"gsName\":{\"aa\":\"bb\",\"dd\":\"cc\"}}]";
        
        Gson gson = new Gson();
        // 把字符串转成List<Map>
        List<Map<String, Object>> dataList = gson.fromJson(apiResponse, new TypeToken<List<Map<String, Object>>>(){}.getType());
        
        int totalAmount = 0;
        for (Map<String, Object> item : dataList) {
            // 把Amount转成整数累加
            totalAmount += Integer.parseInt(item.get("Amount").toString());
        }
        
        System.out.println("amount " + totalAmount); // 输出:amount 54
    }
}

为啥之前转换失败?给你排查方向

  • 字符串里有中文引号或者全角空格,导致解析器认不出来
  • API返回的字符串末尾多了个逗号,或者有缺失的引号
  • 编程语言里没有正确处理转义字符(比如字符串里的双引号被转义成\",但你没注意)

核心逻辑其实很简单:先把合法的JSON字符串转成可遍历的集合,然后挨个取出Amount转成数值,最后加起来就行啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:38:36