https://github.com/Andrew-Kang-G/json-knife
Mass Update certain key-values recursively in huge, complex JSON string trees
without using JSON.parse() & self-calling function.
Zero dependency, 7KB
Syntax & Usage
Very simple to use. Now we are going to set all 'Mike{[Gentleman]}' to null in the sample JSON string.
/** * @brief * Mass Update certain key-values recursively in huge, complex JSON string trees * @author Andrew Kang * @param original string required (must be JSON string) * @param key string required * @param value string or boolean or number or null required * @return string */ // IMPORTANT : the variable 'original' should be valid JSON. // You can test your JSON string source like here. // https://jsonformatter.curiousconcept.com/ var result = Pattern.sculptJson(original, 'Mike{[Gentleman]}', null); // You can convert the result string to an object type. var resultObj = JSON.parse(result);
[Original source]
var original =
{ "prob\"lems": [{ "classes": [{ "medications": [{ "medicationsClasses": [{ "Mike {[Gentleman]}": [{ "associatedDrug": [{ "name": "asprin", "dose": 35.3, "strength": "500 mg", "className" : false }], "Mike {[Gentleman]}": [{ "name": "somethingElse", "dose": "", "strength": "500 mg", "friends": { "self": { "Mike {[Gentleman]}": "33", "names": ["aa"] } } }] }], "Judy": [{ "associatedDrug": [{ "name": "asprin", "dose": "", "strength": "500 mg", "friends": ["Mike {[Gentleman]}"] }], "associatedDrug#2": [{ "name": "somethingElse", "dose": "", "strength": "500 mg" }], "friends": [{"Mike {[Gentleman]}": null}, {"Mike {[Gentleman]}": [["c[ 3\"5ool", 35], ["ca],[1\"3lm"], 53]}, "Jackson", "Mike {[Gentleman]}"] }] }] }], "classNameMissed": [{ "Mike {[Gentleman]}": "missing_value" }] }], "className": [{}] }] }
[Result] - string type
{ "prob\"lems": [{ "classes": [{ "medications": [{ "medicationsClasses": [{ "Mike {[Gentleman]}": null, "Judy": [{ "associatedDrug": [{ "name": "asprin", "dose": "", "strength": "500 mg", "friends": ["Mike {[Gentleman]}"] }], "associatedDrug#2": [{ "name": "somethingElse", "dose": "", "strength": "500 mg" }], "friends": [{"Mike {[Gentleman]}": null}, {"Mike {[Gentleman]}": null}, "Jackson", "Mike {[Gentleman]}"] }] }] }], "classNameMissed": [{ "Mike {[Gentleman]}": null }] }], "className": [{}] }] }
Top comments (0)