Replacing values in JSON object
arrays, javascript, json, stringify
Solution
You need to make the replace global:
var old = JSON.stringify(data).replace(/null/g, '"#"'); //convert to JSON string
var newArray = JSON.parse(old); //convert back to array
This way it will continue to replace nulls until it reaches the end
Regex docs:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
Also, as a side note, you should avoid using `new` as a variable name as it is a reserved word in javascript and most browsers will not allow you to use it
Problem
I have the following JSON object `data` returned from my apicontroller : ``` [ {"id":2,"text":"PROGRAMME","parent":null}, {"id":3,"text":"STAGE","parent":2}, {"id":4,"text":"INFRA","parent":2}, {"id":5,"text":"SYSTEM","parent":3}, {"id":6,"text":"STOCK","parent":3}, {"id":7,"text":"DPT","parent":3}, {"id":9,"text":"EXTERNAL","parent":null} ] ``` I want to replace `"parent":null` with `"parent":'"#"'` I have tried the code below, but it is only replacing the first occurrence of `"parent":null`. How can I replace all `"parent":null` entries? ``` $(document).ready(function () { $.ajax({ url: "http://localhost:37994/api/EPStructures2/", type: "Get", success: function (data) { var old = JSON.stringify(data).replace(null, "'#'"); //convert to JSON string var new = JSON.parse(old); //convert back to array }, error: function (msg) { alert(msg); } }); }); ``` Thanks,