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

java JSON 字符串格式化与正则表达式

java JSON 字符串格式化与正则表达式

青春有我 2021-07-26 09:19:10
对于给定的纯 JSON 数据,请执行以下格式:用下划线替换key 中的所有特殊字符删除键双引号将 : 替换为 =例子:JSON 数据:{"no/me": "139.82", "gc.pp": "\u0000\u000", ...}格式化后:no_me="139.82", gc_pp="\u0000\u000"是否可以使用正则表达式?或任何其他单个命令执行?
查看完整描述

2 回答

?
哆啦的时光机

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

整个更改的单个正则表达式可能会过大。我认为您可以编写类似于以下内容的代码:


(注意:因为我不会用 Java 编写代码,所以我的示例是用 javascript 编写的,只是为了让您了解它)


var json_data = '{"no/me": "139.82", "gc.pp": "0000000", "foo":"bar"}';

console.log(json_data);

var data = JSON.parse(json_data);

var out = '';

for (var x in data) {

  var clean_x = x.replace(/[^a-zA-Z0-9]/g, "_");

  if (out != '') out += ', ';

  out += clean_x + '="' + data[x] + '"';

}

console.log(out);

基本上,您遍历键并清理它们(删除不需要的字符),使用新键和原始值创建一个具有您喜欢的格式的新字符串。

重要提示:请记住重叠的 ID。例如,两者no/meno#me将重叠成相同的 id no_me。这可能并不重要,因为您毕竟没有输出 JSON。我告诉你以防万一。


查看完整回答
反对 回复 2021-08-04
  • 2 回答
  • 0 关注
  • 243 浏览

添加回答

举报

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