diff options
author | yami <34216515+kn-yami@users.noreply.github.com> | 2019-07-30 15:42:58 +0200 |
---|---|---|
committer | yami <34216515+kn-yami@users.noreply.github.com> | 2019-07-30 15:42:58 +0200 |
commit | c9bb8a9ed4dc030f79a00e475a8a0e0d2cd1447d (patch) | |
tree | 736c9750af88906c312afaf5303f40d30c31d90e /devtools/client | |
parent | 10d35d15baf706815bc635c9a7dfb503a69b7643 (diff) | |
download | aura-central-c9bb8a9ed4dc030f79a00e475a8a0e0d2cd1447d.tar.gz |
Issue mcp-graveyard/UXP%1138 - Part 2: JSON Viewer should ignore BOM
Mozilla Bug 1395313
Diffstat (limited to 'devtools/client')
-rw-r--r-- | devtools/client/jsonview/json-viewer.js | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/devtools/client/jsonview/json-viewer.js b/devtools/client/jsonview/json-viewer.js index bf86ebbea..38cb6d7ec 100644 --- a/devtools/client/jsonview/json-viewer.js +++ b/devtools/client/jsonview/json-viewer.js @@ -13,24 +13,26 @@ define(function (require, exports, module) { const json = document.getElementById("json"); - let jsonData; - - try { - jsonData = JSON.parse(json.textContent); - } catch (err) { - jsonData = err + ""; - } - // Application state object. let input = { jsonText: json.textContent, jsonPretty: null, - json: jsonData, headers: window.headers, tabActive: 0, prettified: false }; + // Remove BOM, if present. + if (input.jsonText.startsWith("\ufeff")) { + input.jsonText = input.jsonText.slice(1); + } + + try { + input.json = JSON.parse(input.jsonText); + } catch (err) { + input.json = err; + } + json.remove(); /** @@ -59,7 +61,7 @@ define(function (require, exports, module) { theApp.setState({jsonText: input.jsonText}); } else { if (!input.jsonPretty) { - input.jsonPretty = JSON.stringify(jsonData, null, " "); + input.jsonPretty = JSON.stringify(input.json, null, " "); } theApp.setState({jsonText: input.jsonPretty}); } |