Json unexpected character 
You need to find a way to have Flutter deal with the UTF-8 Byte Order Mark (0xEF 0xBB 0xBF), OR write the file as UTF8 without the BOM.
If you're using PowerShell 6 or up, you can use
Set-Content "testJson.json" -Encoding utf8NoBOM
For PowerShell below version 6, that is not available, so you can use
$json = $data | Select-Object -Property stations | ConvertTo-Json
# [System.IO.File]::WriteAllText() defaults to UTF8 without BOM
# use an absolute path here
[System.IO.File]::WriteAllText("D:\Test\testJson.json", $json)
Casper
Updated on December 24, 2022Comments
-
Casper over 1 year
I am using below code to regenerate my Json using PowerShell, however it creates unexpected character before the start of the json { tag.
<#$data = Get-Content -Raw -Path myfile.json | ConvertFrom-Json#> $data = @" { "stations": [ { "code": "1", "name": "United force" }, { "code": "2", "name": "Toowoon Bay Service Station" } ], "prices": [ { "stationcode": "1", "fueltype": "DL", "price": 126.97 }, { "stationcode": "1", "fueltype": "E10", "price": 118.92 }, { "stationcode": "2", "fueltype": "E10", "price": 112.90 }, { "stationcode": "2", "fueltype": "P95", "price": 125.90 }, { "stationcode": "2", "fueltype": "P98", "price": 155.90 }, { "stationcode": "2", "fueltype": "U91", "price": 115.20 } ] } "@ | ConvertFrom-Json foreach ($price in $data.prices) { $data.stations | Where-Object { $_.code -eq $price.stationcode } | Add-Member -MemberType NoteProperty -Name $price.fueltype -Value $price.price } $data | Select-Object -Property stations | ConvertTo-Json | Set-Content "testJson.json" -Encoding UTF8
When calling this file after uploading, I am having trouble reading the json file due to that unexpected character.
Hope someone can help in the PowerShell code to ensure there is no character like that, I may be doing something easy but not sure how.
I am reading the generated json file after the PowerShell to Flutter, which throws the error as shown below
Thanks,
-
js2010 almost 4 years
get-content -encoding utf8
-
-
mklement0 almost 4 yearsNice, though it's worth mentioning that
-Encoding utf8NoBOM
is implied in PS Core. -
Casper over 3 yearsThank you for the reply and showing how to see whats available in the PSVersion @lit