This module allows you to replace a specific property in a JSON.
Table of Contents generated with DocToc
You can use this via the following command:
replace-json-property pathToFile property value
This command replaces all occurences of the matching property. It also replaces occurences in nested objects or objects in arrays.
The following command would replace all values of the foo
property with 'test' inside the test.json
.
replace-json-property ./test.json foo test,
Executing the command above on the given JSON
{
"foo": "bar",
"a": {
"b": 1,
"foo": "bar",
"c": [
{"d": 1, "foo": "bar"},
{"d": 2, "foo": "bar"},
{"d": 3, "foo": "bar"},
]
}
}
results in:
{
"foo": "test",
"a": {
"b": 1,
"foo": "test",
"c": [
{"d": 1, "foo": "test"},
{"d": 2, "foo": "test"},
{"d": 3, "foo": "test"},
]
}
}
All commands explained above can also be run with the shortcut version rjp
.
rjp ./test.json foo test,
You can also use the replace function in your JavaScript code.
-
Using module imports
import {replace} from 'replace-json-property'; replace('./environment/test.json', 'foo', 'new value');
-
Using commonjs
const replaceJSONProperty = require('replace-json-property'); replaceJSONProperty.replace('./environment/test.json', 'foo', 'new value');
The following flags allow you to configure how the resulting file is written.
Option | Description | Default |
---|---|---|
-s or --spaces | Add the spaces the file should be written with, for example (2, 4) | 2 |
-e or --eol | Add the line ending the file should be written with, for example "\r\n" | "\n" |
--silent | Silent mode. Executes without log messages | False |
--limit | Limit the number of replacements | 0 (unlimited) |
--add | When set to true propertys that do not exist will be added | false |
You can always run the help command to see how the signature looks
replace-json-property -h
or
replace-json-property --help
To get the current version use the --version or -v command.