为了账号安全,请及时绑定邮箱和手机立即绑定

如何替换部分json字符串

如何替换部分json字符串

大话西游666 2023-04-01 15:51:17
我只想删除下面 Json 字符串中以 C_ 开头的字符“C”键。这里是我拥有的 javscript 对象var jsonData={key1:val1,key2:val2,C_100:1,C_101:2,C_102:3,}我期待输出类似于var jsonData={key1:val1,key2:val2,100:1,101:2,102:3,}json 字符串是动态的,我可以有很多键值对。我想从所有以“C_”开头的键中删除“C_”。请告诉我如何从对象中删除 C_。我尝试使用json.stringify和替换进行转换,但它不起作用。var jstring = JSON.stringify(jsonData); var y = jstring.replace("\"C_\":", "\"\":");我得到的是"{"key1":"val1","key2":"val2","C_100":"1","C_101":"2","C_102":"3"}"期望输出为"{"key1":"val1","key2":"val2","100":"1","101":"2","102":"3"}".
查看完整描述

3 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

让我们假设你有


var jsonData=

{

key1:'val1',

key2:'val2',

C_100:1,

C_101:2,

C_102:3,

}

然后你需要按如下方式处理


Object.entries(jsonData).map(e => [e[0].replace(/^C_/,''), e[1]]).reduce((p,n) => ({ ...p, [n[0]]: n[1] }), {})

要得到


{100: 1, 101: 2, 102: 3, key1: "val1", key2: "val2"}


查看完整回答
反对 回复 2023-04-01
?
HUX布斯

TA贡献1876条经验 获得超6个赞

这是一个简单易读的代码来做到这一点:


var jsonData=

{

key1:"val1",

key2:"val2",

C_100:1,

C_101:2,

C_102:3,

}


var modifiedData = {};


for (key of Object.keys(jsonData)) {

  var newKey = key.replace("C_", "");

  modifiedData[newKey] = jsonData[key];

}


console.log(modifiedData) // prints var jsonData=

{

key1:"val1",

key2:"val2",

C_100:1,

C_101:2,

C_102:3,

}


var modifiedData = {};


for (key of Object.keys(jsonData)) {

  var newKey = key.replace("C_", "");

  modifiedData[newKey] = jsonData[key];

}


console.log(modifiedData) // prints { '100': 1, '101': 2, '102': 3, key1: 'val1', key2: 'val2' }



查看完整回答
反对 回复 2023-04-01
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您可以使用 justJSON.stringify()和JSON.parse()方法来做到这一点:


let jsonData =

  {

  key1: val1,

  key2: val2,

  C_100: 1,

  C_101: 2,

  C_102: 3,

};


let string = JSON.stringify(jsonData);


string = string.replace(/C_/g, "");


let obj = JSON.parse(string);


查看完整回答
反对 回复 2023-04-01
  • 3 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信