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

Groovy从字符串提取值:如何获取JSON字符串中的user_1

搞定JSON字段提取的小技巧

嘿,我看你现在卡在了从拆分后的字符串里提取user_1的问题上,其实核心原因是原始的responseString被额外的引号包裹了,手动拆分后才会带出多余的引号。给你几个靠谱的解决办法:

方法一:用JSON解析(最稳妥,推荐!)

你完全不用手动去tokenize拆分字符串,先把原始的responseString清理干净,再用JSON解析工具直接拿值就行:

  1. 先把开头的responseString:和外层的首尾引号去掉,得到纯净的JSON内容:
    {"session":"vvSbMInXHRJuZQ==","age":7200,"prid":"901Vjmx9qenYKw","userid":"user_1"}
    
  2. 用你所用语言的JSON解析库(比如Python的json模块、JS的JSON.parse)把它转成对象,然后直接取userid字段:
    # Python示例
    import json
    # 假设你的原始responseString是下面这个
    responseString = '"{"session":"vvSbMInXHRJuZQ==","age":7200,"prid":"901Vjmx9qenYKw","userid":"user_1"}"'
    clean_json = responseString.strip('"')  # 去掉外层引号
    data = json.loads(clean_json)
    user_id = data['userid']  # 直接得到user_1
    

方法二:如果已经拿到了拆分后的项

要是你已经拿到了""userid":"user_1""这个字符串,也可以用字符串处理快速提取:

  • 先把所有多余的双引号去掉,再按冒号拆分:
    # 假设你拿到的项是item
    item = '"userid":"user_1"'
    user_id = item.replace('"', '').split(':')[1]
    
  • 或者用正则直接匹配值部分,更精准:
    import re
    match_result = re.search(r'"userid":"(.*?)"', item)
    if match_result:
        user_id = match_result.group(1)  # 得到user_1
    

小提醒

尽量别手动拆分JSON字符串哦,万一以后字段值里出现逗号或者引号,手动拆分肯定会出问题,用标准的JSON解析工具才是长久之计~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:45:48