summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryami <34216515+kn-yami@users.noreply.github.com>2019-07-30 15:42:58 +0200
committeryami <34216515+kn-yami@users.noreply.github.com>2019-07-30 15:42:58 +0200
commitf635feec77ad32c3e1251a91a145ebee185fee31 (patch)
tree736c9750af88906c312afaf5303f40d30c31d90e
parent23e68227a2e3f3946fa4fd5589f338e6b36a6e56 (diff)
downloadUXP-f635feec77ad32c3e1251a91a145ebee185fee31.tar
UXP-f635feec77ad32c3e1251a91a145ebee185fee31.tar.gz
UXP-f635feec77ad32c3e1251a91a145ebee185fee31.tar.lz
UXP-f635feec77ad32c3e1251a91a145ebee185fee31.tar.xz
UXP-f635feec77ad32c3e1251a91a145ebee185fee31.zip
Issue #1138 - Part 2: JSON Viewer should ignore BOM
Mozilla Bug 1395313
-rw-r--r--devtools/client/jsonview/json-viewer.js22
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});
}