一、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格式化工具是一款非常实用和强大的工具。