Dart 将不带引号的字符串转换为 json

Luc*_*Luz 1 json tostring dart flutter

我正在尝试将字符串转换为 json 字符串。

我得到的字符串:

String myJSON =  '{codigo: 1050, decricao: Mage x, qntd: 1, tipo: UN, vUnit: 10,9, vTotal: 10,90}';
Run Code Online (Sandbox Code Playgroud)

我需要的字符串:

String myJSON =  '{"codigo": "1050", "decricao": "Mage x", "qntd": "1", "tipo": "UN", "vUnit": "10,9", "vTotal": "10,90"}';
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何添加引号吗?

小智 5

您可以使用 轻松转换字符串replaceAll

代码:

  String myJSON =  '{codigo: 1050, decricao: Mage x, qntd: 1, tipo: UN, vUnit: 10,9, vTotal: 10,90}';
  myJSON = myJSON.replaceAll('{', '{"');
  myJSON = myJSON.replaceAll(': ', '": "');
  myJSON = myJSON.replaceAll(', ', '", "');
  myJSON = myJSON.replaceAll('}', '"}');
  print(myJSON);
Run Code Online (Sandbox Code Playgroud)

输出:

{"codigo": "1050", "decricao": "Mage x", "qntd": "1", "tipo": "UN", "vUnit": "10,9", "vTotal": "10,90"}
Run Code Online (Sandbox Code Playgroud)

  • 如果你有'{codigo:1050,decricao:Mage x“带有一些引用的文本:和一些带有逗号和点的文本”,qntd:1,tipo:UN,vUnit:10,9,vTotal:10,90,那就不好了}'; (2认同)