如何用正则表达式提取url返回的jason数值

使用Jmeter的正则表达式提取器,提取接口的响应数据,如下:{"access_token":"a33ae898c0a012d8033cb24df69c786b","to... 使用Jmeter的正则表达式提取器,提取接口的响应数据,如下:
{"access_token":"a33ae898c0a012d8033cb24df69c786b","token_type":"client_credentials","expires_in":3600,"example_parameter":null}
中的a33ae898c0a012d8033cb24df69c786b,有高手帮忙写一下可以吗?
展开
 我来答
紫薇参星
科技发烧友

2016-05-05 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3589万
展开全部

正则表达式:(?<=\"access_token\":)\"(.+?)\"

取第一捕获组的数据,就行了.

完整的Java程序如下:

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class FFF {

 public static void main(String[] args) {

  String s="{\"access_token\":\"a33ae898c0a012d8033cb24df69c786b\",\"token_type\":\"client_credentials\",\"expires_in\":3600,\"example_parameter\":null}";

  String regex="(?<=\"access_token\":)\"(.+?)\"";

  Pattern p=Pattern.compile(regex);

  Matcher m=p.matcher(s);

  while(m.find()){

   System.out.println(m.group(1));

  }

 }

}

运行结果:
a33ae898c0a012d8033cb24df69c786b

 

其实用json对象解析更简单,完整的Java程序如下:

import org.json.JSONObject;

public class FFF {

 public static void main(String[] args) {

  String s="{\"access_token\":\"a33ae898c0a012d8033cb24df69c786b\",\"token_type\":\"client_credentials\",\"expires_in\":3600,\"example_parameter\":null}";

  JSONObject jsonObj = new JSONObject(s);

  String str=(String) jsonObj.get("access_token");

  System.out.println(str);

 }

}

运行结果:
a33ae898c0a012d8033cb24df69c786b

百度网友c5bcb7af742
2017-05-03 · TA获得超过2.2万个赞
知道小有建树答主
回答量:1.2万
采纳率:47%
帮助的人:596万
展开全部
Javascript正则表达式/"token-id": "([^\"]*?)"/g 取第一捕获组的数据
我给你一个Javascript语言的例子,你看看吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式