内容简介:Mass update certain key-values recursively in huge, complex JSON string trees without using JSON.parse() & self-calling function.Zero dependency, 7KB
json-knife
Overview
Mass update certain key-values recursively in huge, complex JSON string trees without using JSON.parse() & self-calling function.
Zero dependency, 7KB
Installation
For ES5 users,
<html>
<body>
<script src="../dist/json-knife.bundle.js"></script>
<script type="text/javascript">
</script>
</body>
</html>
For ES6 npm users, do 'npm install --save json-knife' on console.
import Pattern from 'json-knife';
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": [{}]
}]
}
Please inform me of the source related things by leaving issues on Github or emailing me at studypurpose@naver.com .
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。