Java中的正则表达式,用于多次点击

Java中的正则表达式,用于多次点击,java,regex,Java,Regex,输入字符串包含多次出现的“pageref”和“time” 给我一个java正则表达式或java源代码,从输入字符串中提取它们的值。下面给出了输入字符串的一部分 输入字符串: "entries": [ { "pageref": "page_0", "startedDateTime": "2014-07-21T21:08:37.491+05:30", "time": 515, "request": { "method": "GET", "

输入字符串包含多次出现的“pageref”和“time” 给我一个java正则表达式或java源代码,从输入字符串中提取它们的值。下面给出了输入字符串的一部分

输入字符串:

 "entries": [
  {
    "pageref": "page_0",
    "startedDateTime": "2014-07-21T21:08:37.491+05:30",
    "time": 515,
    "request": {
      "method": "GET",
      "url": "https://www.facebook.com/",
      "httpVersion": "HTTP/1.1",
      "cookies": [],
      "headers": [
        {
          "name": "Host",
          "value": "www.facebook.com"
        },
        {
          "name": "User-Agent",
          "value": "Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0"
        },
        {
          "name": "Accept",
          "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
        },
        {
          "name": "Accept-Language",
          "value": "en-US,en;q=0.5"
        },
        {
          "name": "Accept-Encoding",
          "value": "gzip, deflate"
        },
        {
          "name": "Connection",
          "value": "keep-alive"
        }
      ],
page_0 515
所需输出:

 "entries": [
  {
    "pageref": "page_0",
    "startedDateTime": "2014-07-21T21:08:37.491+05:30",
    "time": 515,
    "request": {
      "method": "GET",
      "url": "https://www.facebook.com/",
      "httpVersion": "HTTP/1.1",
      "cookies": [],
      "headers": [
        {
          "name": "Host",
          "value": "www.facebook.com"
        },
        {
          "name": "User-Agent",
          "value": "Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0"
        },
        {
          "name": "Accept",
          "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
        },
        {
          "name": "Accept-Language",
          "value": "en-US,en;q=0.5"
        },
        {
          "name": "Accept-Encoding",
          "value": "gzip, deflate"
        },
        {
          "name": "Connection",
          "value": "keep-alive"
        }
      ],
page_0 515
试一试

示例代码:

JSONObject jsonObject = new JSONObject(jsonString);
JSONObject innJsonObject = jsonObject.getJSONArray("entries").getJSONObject(0);
System.out.println(innJsonObject.get("pageref")); // page_0
System.out.println(innJsonObject.get("time"));    // 515
Gson gson = new Gson();
Type type = new TypeToken<Map<String, ArrayList<Map<String, Object>>>>() {}.getType();
Map<String, ArrayList<Map<String, Object>>> data = gson.fromJson(reader, type);
Map<String, Object> map = data.get("entries").get(0);
System.out.println(map.get("pageref"));  // page_0
System.out.println(map.get("time"));     // 515.0
您也可以尝试使用library

示例代码:

JSONObject jsonObject = new JSONObject(jsonString);
JSONObject innJsonObject = jsonObject.getJSONArray("entries").getJSONObject(0);
System.out.println(innJsonObject.get("pageref")); // page_0
System.out.println(innJsonObject.get("time"));    // 515
Gson gson = new Gson();
Type type = new TypeToken<Map<String, ArrayList<Map<String, Object>>>>() {}.getType();
Map<String, ArrayList<Map<String, Object>>> data = gson.fromJson(reader, type);
Map<String, Object> map = data.get("entries").get(0);
System.out.println(map.get("pageref"));  // page_0
System.out.println(map.get("time"));     // 515.0

是JSON字符串吗?如果是,则使用JSON解析器。为什么选择正则表达式。整个输入字符串如下所示:我向您询问。是JSON字符串吗?给我一个java正则表达式或java源代码,这不是要求某人“给我一个java正则表达式或java源代码以从输入字符串中提取其值”的好方法,这不是堆栈溢出的工作方式。在这里,您负责创建代码。我们在这里,以防您遇到问题。我们没有尝试使用JSON。我会尽量让你know@Braj...No很幸运。我有HAR(HTTP存档文件)日志文件,我想从中提取“pageref”和“time”值。您是否尝试过使用GSON库。我也发布了有效的json字符串。失败的是什么让我知道?首先尝试使用我在答案中共享的json,它是有效的json字符串。