Tengo una lista de claves y valores JSON planos. Estoy tratando de reemplazar todos los valores clave con cadenas vacías
Aquí está mi JSON.
{ "wl.label.accountPin": "Account PIN", "wl.label.logon": "Logon details", "wl.label.logonDetails": "Logon details", "wl.label.password": "Logon details", "Sunday": "Sunday", "Monday": "Monday", "Tuesday": "Tuesday", "Wednesday": "Wednesday", "Thursday": "Thursday", "Friday": "Friday", "Saturday": "Saturday", "Su": "Su", "Mo": "Mo", "Tu": "Tu", "We": "We", "Th": "Th", "Fr": "Fr", "Sa": "Sa", "January": "January", "February": "February", "March": "March", "April": "April", "May": "May", "June": "June", "July": "July", "August": "August", "September": "September", "October": "October", "November": "November", "December": "December", "Jan": "Jan", "Feb": "Feb", "Mar": "Mar", "Apr": "Apr", "May": "May", "Jun": "Jun", "Jul": "Jul", "Aug": "Aug", "Sep": "Sep", "Oct": "Oct", "Nov": "Nov", "Dec": "Dec" }
Así que quiero mantener los nombres de las claves pero reemplazar todos los valores de las claves con cadenas vacías
por ejemplo "wl.label.accountPin": "Account PIN",
debe ser "wl.label.accountPin": "",
Cuál sería la mejor forma de hacer esto?
Tu json no es json sino un Objeto. Además, es de una sola línea. Aquí hay un ejemplo reproducible mínimo .
const obj = { "wl.label.accountPin": "Account PIN", "Sunday": "Sunday", "Su": "Su", "January": "January", "Jan": "Jan", }; console.log(Object.entries(obj).reduce( (acc, [key,]) => ({...acc, [key]: ""}), {}));
Solución simple
json = {YOUR_DATA}; Object.keys(json).forEach(function(key) { json[key] = ""; })
Ver JSFiddle aquí http://jsfiddle.net/1xo6pf8s/
Aquí tienes, disfruta y que tengas un buen día :)
var d = { 'firstKey':'firstValue', 'secondKey':'secondValue' } for(i in d){ d[i] = '' } console.log(d)