我在 Flutter 中的字符串上遇到了问题,特别是在包含“$”字符的 URL 中。
有什么办法可以摆脱美元符号吗$
?
var url = Uri.parse('https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/ExpectativaMercadoMensais?$top=100&$skip=0&$orderby=Data%20desc&$format=json&$select=Indicador,DataReferencia,Mediana,baseCalculo');
Run Code Online (Sandbox Code Playgroud)
Dart 有一种叫做字符串插值的东西。这是文档的片段:
要将表达式的值放入字符串中,请使用
${expression}
. 如果表达式是标识符,则可以省略{}
.以下是使用字符串插值的一些示例:
细绳 结果 '${3 + 2}'
'5'
'${"word".toUpperCase()}'
'WORD'
'$myObject'
myObject.toString() 的值
在您的情况下,URL 字符串恰好包含转义符号$
以进行字符串插值。Dart 认为符号后面的所有单词$
都是标识符(变量、函数等),但它没有发现它们在任何地方定义。要修复它,只需执行@jamesdlin建议的操作:转义$
符号\$
或在字符串r
前面加上如下所示的前缀:
r'https://...Mensais?$top=100&$skip=0&$orderby=...'
。
归档时间: |
|
查看次数: |
2390 次 |
最近记录: |