了解chromejson格式化

发布时间:2023-05-20

一、chromejson概述

Chrome浏览器的开发者工具(DevTools)支持将网络面板上的数据转换为可重用的HAR格式。在接下来的几年里,HAR成为一个通用的格式,不仅浏览器,还有其他工具也支持它。但是,在某些情况下,HAR格式更为详细,需要更轻量级的格式。因此,chromejson格式应运而生。 chromejson在设计上遵循了可读性和可扩展性的原则。它可以轻松地转化为HAR格式。除此之外,chromejson还支持更多的数据类型,如二进制数据、ASCII等。

二、chromejson格式结构

chromejson包含多个对象,其结构如下:

{
  "log": {
    "version": "string",
    "creator": {
      "name": "string",
      "version": "string"
    },
    "entries": ["object"]
  }
}

其中,关键字“log”代表了所有的网络数据。版本和创建者内容描述了该文件的版本和生成工具的名称和版本。entries关键字代表了一个数组,其中包含了所有的请求和响应的详细信息。这些对象的结构如下:

{
  "startedDateTime": "timestamp",
  "time": "number",
  "request": {
    ...
  },
  "response": {
    ...
  },
  "cache": {
    ...
  },
  "timings": {
    ...
  }
}

其中,startedDateTime 表示了请求的开始时间,time 代表了请求的响应时间(单位为毫秒)。缓存和timing描述了请求和响应的其他详细信息。

三、chromejson格式化工具

chromejson格式化工具是一款轻量级的工具,用于将chromejson数据转换为更具可读性的格式。该工具支持本地和在线两种使用方式。 下面是一个简单的chromejson格式化函数:

function formatJSON(json) {
  return JSON.stringify(json, null, 4);
}

这个函数将chromejson数据作为输入,同时返回格式化后的json字符串。

四、chromejson格式化的优点

chromejson的格式化有以下优点:

1. 可读性好

chromejson格式化后的数据更加容易被人类理解。每个请求和响应都被分为了多个字段,并且每个字段都很容易看懂。

2. 可扩展性强

chromejson的格式化可以轻松地支持更多的数据类型。当需要存储某些类型的数据时,只需要向chromejson中添加相应的字段即可。

3. 易于解析

chromejson格式化后的数据可以轻松地被其他程序解析。我们可以使用JavaScript或其他编程语言来解析chromejson数据。

五、chromejson格式化示例

{
  "log": {
    "version": "1.1",
    "creator": {
      "name": "Chrome DevTools",
      "version": "58.0.3029.110"
    },
    "entries": [
      {
        "startedDateTime": "2017-04-26T11:03:01.701Z",
        "time": 56.82311058044434,
        "request": {
          "method": "GET",
          "url": "https://www.example.com",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Accept",
              "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate, sdch, br"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.8"
            }
          ],
          "queryString": [],
          "cookies": [],
          "headersSize": 255,
          "bodySize": 0
        },
        "response": {
          "status": 200,
          "statusText": "OK",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Content-Type",
              "value": "text/html; charset=UTF-8"
            },
            {
              "name": "Server",
              "value": "cloudflare-nginx"
            }
          ],
          "cookies": [],
          "content": {
            "size": 6123,
            "mimeType": "text/html"
          },
          "redirectURL": "",
          "headersSize": 244,
          "bodySize": 6123
        },
        "cache": {},
        "timings": {
          "dns": -1,
          "connect": -1,
          "ssl": -1,
          "send": 0.2200000000000001,
          "wait": 56.440000000000005,
          "receive": 0.1631105804443361
        }
      }
    ]
  }
}

六、结论

chromejson格式化是一种可靠的数据格式,它可以轻松地将网络请求和响应内容转换为可读性强的格式。这种格式的优点在于它的可扩展性、可读性、易于解析。对于开发人员来说,chromejson格式化工具是一款非常实用和强大的工具。