Dart中如何将x-www-form-urlencoded格式字符串转换为JSON格式
Dart 转换x-www-form-urlencoded字符串为JSON的方法
Dart内置的Uri和convert库即可完成转换,无需引入第三方依赖,具体实现步骤和代码如下:
实现步骤
- 调用
Uri.splitQueryString内置方法直接解析x-www-form-urlencoded格式字符串,该方法会自动处理转义字符、特殊编码的内容,比手动拆分字符串更可靠 - 使用
dart:convert库的jsonEncode方法将解析得到的Map转为JSON格式字符串
完整代码示例
import 'dart:convert'; void main() { String source = "BRN=920736&STC=000&RMK=success&TRN=935851295243587"; // 解析x-www-form-urlencoded字符串为Map Map<String, String> resultMap = Uri.splitQueryString(source); // 转为JSON字符串 String jsonStr = jsonEncode(resultMap); print(jsonStr); }
运行输出
{"BRN":"920736","STC":"000","RMK":"success","TRN":"935851295243587"}
注意:如果你的url encoded字符串是完整URI的一部分,也可以先通过
Uri.parse()解析完整URI后,直接读取queryParameters属性得到对应的键值对Map。
内容的提问来源于stack exchange,提问作者Subair K
相关产品推荐
相关产品推荐

