Skip to content

Commit

Permalink
Feature josdejong#144
Browse files Browse the repository at this point in the history
1. Remove code comments from JSON
2. Strip JSONP to become a JSON object
  • Loading branch information
yanivefraim committed Feb 11, 2015
1 parent d99d899 commit 3f8d10d
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 20 deletions.
18 changes: 9 additions & 9 deletions jsoneditor.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
*
* @author Jos de Jong, <[email protected]>
* @version 3.2.0
* @date 2015-02-10
* @date 2015-02-11
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
Expand Down Expand Up @@ -1481,16 +1481,16 @@ return /******/ (function(modules) { // webpackBootstrap
return $1 + '"' + $2 + '"' + $3;
});

//Strips only jQuery's JSONP
// if(jsonString.match(/.*jQuery.+?\(/)){
// var jsonStringTemp = jsonString.replace(/.*jQuery.+?\(/,'');
// jsonString = jsonStringTemp.replace(/\)(?!.*\));?/g,'');
// }

//Clear json's surrounding (for example: 123{"a":"b"}456 => {"a":"b"})
jsonString = jsonString.replace(/[^{]*/,'');//remove all characters before first "{" (match first not '{')
jsonString.replace(/\*(.|[\r\n])*?\*/g,'');//Remove all code comments

jsonString = jsonString.replace(/([^}])(?!(.|[\r\n])*(\}))/g,'');//remove all characters after last "}" (match first not '}' which does not have following '}')
//If JSON starts with a function (Carachters/digist/"_-"), remove this function.
//This is usefull for "stripping" JSONP objects to become JSON
//For example: function_12321321 ( [{"a":"b"}] ); => [{"a":"b"}]
if(jsonString.match(/[\da-zA-Z_-\s]+\(+\s*/)){
var jsonStringTemp = jsonString.replace(/[\da-zA-Z_-\s]+\(+\s*/,'')
jsonString = jsonStringTemp.replace(/\s*\)(?!.*[\)])[;\s]*/g,'');
}

return jsonString;
};
Expand Down
2 changes: 1 addition & 1 deletion jsoneditor.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions jsoneditor.min.js

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions src/js/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,16 +71,16 @@ define(function () {
return $1 + '"' + $2 + '"' + $3;
});

//Strips only jQuery's JSONP
// if(jsonString.match(/.*jQuery.+?\(/)){
// var jsonStringTemp = jsonString.replace(/.*jQuery.+?\(/,'');
// jsonString = jsonStringTemp.replace(/\)(?!.*\));?/g,'');
// }

//Clear json's surrounding (for example: 123{"a":"b"}456 => {"a":"b"})
jsonString = jsonString.replace(/[^{]*/,'');//remove all characters before first "{" (match first not '{')
jsonString.replace(/\*(.|[\r\n])*?\*/g,'');//Remove all code comments

jsonString = jsonString.replace(/([^}])(?!(.|[\r\n])*(\}))/g,'');//remove all characters after last "}" (match first not '}' which does not have following '}')
//If JSON starts with a function (Carachters/digist/"_-"), remove this function.
//This is usefull for "stripping" JSONP objects to become JSON
//For example: function_12321321 ( [{"a":"b"}] ); => [{"a":"b"}]
if(jsonString.match(/[\da-zA-Z_-\s]+\(+\s*/)){
var jsonStringTemp = jsonString.replace(/[\da-zA-Z_-\s]+\(+\s*/,'')
jsonString = jsonStringTemp.replace(/\s*\)(?!.*[\)])[;\s]*/g,'');
}

return jsonString;
};
Expand Down

0 comments on commit 3f8d10d

Please sign in to comment.