Java中如何处理JSON字符串中value部分的多余双引号问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计278个文字,预计阅读时间需要2分钟。
一、错误场景 + json字符串的value值中有多余的双引号。+ 错误的json字符串+ 处理方案 + 自写一个方法将value值中多余的双引号替换为中文字符串双引号:。+ 处理json字符串中value多余双引号的方法:
pythondef replace_double_quotes(json_str): # 使用正则表达式替换多余的双引号 import re modified_str=re.sub(r'(?<=\)\s*(?=\)', '', json_str) return modified_str
示例json_str='{name: John \Doe\, age: 30}'modified_json=replace_double_quotes(json_str)print(modified_json)输出:{name: John “Doe, age: 30}
一、错误场景
json字符串的value值中有多余的双引号。
错误的json字符串
二、处理方案
自己写个方法将value值中多余的双引号替换为 中文双引号:
// 处理json字符串中value多余的双引号, 将多余的双引号替换为中文双引号 private static String toJsonString(String s) { char[] tempArr = s.toCharArray(); int tempLength = tempArr.length; for (int i = 0; i < tempLength; i++) { if (tempArr[i] == ':' && tempArr[i + 1] == '"') { for (int j = i + 2; j < tempLength; j++) { if (tempArr[j] == '"') { if (tempArr[j + 1] != ',' && tempArr[j + 1] != '}') { tempArr[j] = '”'; // 将value中的 双引号替换为中文双引号 } else if (tempArr[j + 1] == ',' || tempArr[j + 1] == '}') { break; } } } } } return new String(tempArr); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计278个文字,预计阅读时间需要2分钟。
一、错误场景 + json字符串的value值中有多余的双引号。+ 错误的json字符串+ 处理方案 + 自写一个方法将value值中多余的双引号替换为中文字符串双引号:。+ 处理json字符串中value多余双引号的方法:
pythondef replace_double_quotes(json_str): # 使用正则表达式替换多余的双引号 import re modified_str=re.sub(r'(?<=\)\s*(?=\)', '', json_str) return modified_str
示例json_str='{name: John \Doe\, age: 30}'modified_json=replace_double_quotes(json_str)print(modified_json)输出:{name: John “Doe, age: 30}
一、错误场景
json字符串的value值中有多余的双引号。
错误的json字符串
二、处理方案
自己写个方法将value值中多余的双引号替换为 中文双引号:
// 处理json字符串中value多余的双引号, 将多余的双引号替换为中文双引号 private static String toJsonString(String s) { char[] tempArr = s.toCharArray(); int tempLength = tempArr.length; for (int i = 0; i < tempLength; i++) { if (tempArr[i] == ':' && tempArr[i + 1] == '"') { for (int j = i + 2; j < tempLength; j++) { if (tempArr[j] == '"') { if (tempArr[j + 1] != ',' && tempArr[j + 1] != '}') { tempArr[j] = '”'; // 将value中的 双引号替换为中文双引号 } else if (tempArr[j + 1] == ',' || tempArr[j + 1] == '}') { break; } } } } } return new String(tempArr); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

