我在flutter应用程序中下载了一个XML file,并将其转换为Dart Objects,稍后我想用JSON序列化它。由于JSON不接受任何不可见的回车符,我正在寻找一种方法来用\n替换它们。
XML file
Dart Objects
\n
jogvjijk1#
根据你的问题,你为什么不使用dart String replaceAll方法。使用一个简单的regExp就可以替换所有的回车。
wnvonmuf2#
您可以从dart:convert库向jsonEncode() function传递一个String,它将自动用\,n序列替换换行符(并将字符串引用)。
dart:convert
jsonEncode()
String
\
n
brccelvz3#
可以使用jsonEncode()或jsonDecode()将字符串传递给json,也可以使用var声明变量
jsonDecode()
var
import 'dart:convert'; void main() { var string = { 'a': 'Indication\n', 'b': 'Indication\t', 'c': 1 }; var enCode = json.encode(string); print(enCode); // {"a":Indication\n,"b":Indication\t,"c":1} print(jsonDecode(enCode)); // {"a":Indication // ,"b":Indication ,"c":3} }
字符串
yzuktlbb4#
如果有人遇到同样的问题,我创建了这个小脚本来删除字符串中的所有控制字符。
for (final String character in controlCharacters) { text = text.replaceAll(character, ''); }
字符串然后在某处插入控制字符列表:
List<String> controlCharacters = [ String.fromCharCodes([00]), String.fromCharCodes([01]), String.fromCharCodes([02]), String.fromCharCodes([03]), String.fromCharCodes([04]), String.fromCharCodes([05]), String.fromCharCodes([06]), String.fromCharCodes([07]), String.fromCharCodes([08]), String.fromCharCodes([09]), String.fromCharCodes([10]), String.fromCharCodes([11]), String.fromCharCodes([12]), String.fromCharCodes([13]), String.fromCharCodes([14]), String.fromCharCodes([15]), String.fromCharCodes([16]), String.fromCharCodes([17]), String.fromCharCodes([18]), String.fromCharCodes([19]), String.fromCharCodes([20]), String.fromCharCodes([21]), String.fromCharCodes([22]), String.fromCharCodes([23]), String.fromCharCodes([24]), String.fromCharCodes([25]), String.fromCharCodes([26]), String.fromCharCodes([27]), String.fromCharCodes([28]), String.fromCharCodes([29]), String.fromCharCodes([30]), String.fromCharCodes([31]), ];
型如果你想了解更多关于控制字符的信息,请参阅this list。不要替换控制字符32,因为这是您的常规空格。
4条答案
按热度按时间jogvjijk1#
根据你的问题,你为什么不使用dart String replaceAll方法。使用一个简单的regExp就可以替换所有的回车。
wnvonmuf2#
您可以从
dart:convert
库向jsonEncode()
function传递一个String
,它将自动用\
,n
序列替换换行符(并将字符串引用)。brccelvz3#
可以使用
jsonEncode()
或jsonDecode()
将字符串传递给json,也可以使用var
声明变量字符串
yzuktlbb4#
如果有人遇到同样的问题,我创建了这个小脚本来删除字符串中的所有控制字符。
字符串
然后在某处插入控制字符列表:
型
如果你想了解更多关于控制字符的信息,请参阅this list。不要替换控制字符32,因为这是您的常规空格。