我在包含“$”字符的 URL 上遇到問題。
有什么辦法可以避免嗎?
var url = Uri.parse('https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/ExpectativaMercadoMensais?$top=100&$skip=0&$orderby=Data desc&$format=json&$select=Indicador,DataReferencia,Mediana,baseCalculo');
uj5u.com熱心網友回復:
Dart 有一個叫做String Interpolation的東西。這是檔案中的一個片段:
要將運算式的值放入字串中,請使用
${expression}. 如果運算式是識別符號,則可以省略{}.以下是使用字串插值的一些示例:
細繩 結果 '${3 2}''5''${"word".toUpperCase()}''WORD''$myObject'myObject.toString() 的值
在您的情況下,URL 字串完全包含轉義符號$以進行字串插值。Dart 認為$符號后面的所有單詞都是識別符號(變數、函式等),但它沒有發現它們在任何地方定義。要修復它,只需執行@jamesdlin建議的操作:轉義$符號\$或在字串前面加上r如下所示:
r'https://...Mensais?$top=100&$skip=0&$orderby=...'.
uj5u.com熱心網友回復:
改用這個
var url = Uri.parse( 'https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/odata/ExpectativaMercadoMensais?\$top=100&\$skip=0&\$orderby=Data desc&\$format=json&\$select=Indicador,DataReferencia,Mediana,baseCalculo');
使用反斜杠轉義字串
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/491009.html
