Как получить доступ к данным файла .har в формате JSON?

#javascript #html #json #har

#javascript #HTML #json #har

Вопрос:

У меня есть файл .har, который я сгенерировал с веб-сайта. Я думаю, что файл .har представляет собой объект JSON (из поиска, который я сделал в Интернете), и я хочу получить доступ к некоторым конкретным данным, таким как serverIPAddress, startedDateTime и некоторые другие. Вопрос в том, как я могу получить к ним доступ.

Это HTML-код, в который пользователь будет загружать свой .файл har:

 <!DOCTYPE html>
<html>
    <head>
        <title>SelectFile</title>
    </head>
    <body>
        <h1>Please select your HAR files</h1>
        <input type="file" id="logo" accept=".HAR" multiple>
    </body>
</html>

<style type="text/css">
    h1{text-align:center;}
    body {font-family: Arial, Helvetica, sans-serif;}
    form {border: 3px solid #f1f1f1;}

    input[type=text], input[type=password] {
      width: 100%;
      padding: 12px 20px;
      margin: 8px 0;
      display: inline-block;
      border: 1px solid #ccc;
      box-sizing: border-box;
    }
</style>
 

Это сценарий javascript:

 <script type="text/javascript"> 
    const fileselector = document.getElementById('logo')
    console.log(fileselector);

    fileselector.addEventListener('change', function() { 

        const file= this.files[0];
        console.log(file);
        console.log(file.entries);//This prints error message in console
</script>
 

Я новичок в javascript и, как правило, знаю, что вы можете получить доступ к объекту, подобному этому objectName.propertyName . Заранее спасибо.

Ответ №1:

Сначала необходимо прочитать объект File и проанализировать полученный JSON, прежде чем вы сможете что-либо сделать. Попробуйте что-то вроде этого:

 const dataString = await this.files[0].text();
const data = JSON.parse(dataString);
 

Смотрите также: