您的位置:

了解chromejson格式化

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