Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not parse the JSON file ,Error in Progam.cs asp.net core

I have some issues with the program.cs file, with the version of ASP.NetCORE 2.0

Here's my code

     public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseKestrel()
            .UseStartup<Startup>()
            .UseConfiguration(new ConfigurationBuilder().AddCommandLine(args).Build())
            .Build();

}

When I run the project, following error occurs.

System.FormatException: 'Could not parse the JSON file. Error on line number '0': ''.'

How to resolve it?

like image 379
Runan Ngô Avatar asked Sep 25 '17 06:09

Runan Ngô


3 Answers

I had a a similar problem as this in another thread and posted my solution over there: Application Startup Failure with Json read Error. Posting it here as well in case it disappears.


I came across the same problem. In my case, I'd started implementing app secrets but left it halfway through. My secrets.json file was left linked but with invalid JSON.

Check your .csproj to see if a <UserSecretId> property is set under <PropertyGroup>. If it's set, BuildWebHost() will look through your secrets.json file in '%APPDATA%\Microsoft\UserSecrets\{secretId}', in addition to your appsettings.json file. An error in either file will cause the method to fail, but it won't tell you which file it is.

The solutions in my case were either to remove the <UserSecretId> property or

like image 128
Steepmountain Avatar answered Nov 11 '22 17:11

Steepmountain


Is your appSettings.json file (or whatever config you are using) formatted properly? WebHost.CreateDefaultBuilder will not be able to parse it correctly if there are invalid characters at the start. I saw this issue when a copy/paste added a space at the beginning of the file.

like image 24
ijb109 Avatar answered Nov 11 '22 16:11

ijb109


There is a possibility it might happen when appsettings.json is not properly formated

In my case, I had the below configuration and got the error

 {
"ConnectionStrings": {
"TransferDBConnection": 
 "Server=INGBTCPIC5DT04D;Database=TransferDB;Trusted_Connection=true;
 },
  ***{***
   "Logging": {
   "LogLevel": {
    "Default": "Warning"
   }
 },
 "AllowedHosts": "*"
}

ideally, it should be one extra { cause this problem

 {
 "ConnectionStrings": {
 "TransferDBConnection": 
 "Server=INGBTCPIC5DT04D;Database=TransferDB;Trusted_Connection=true;"
 },
  "Logging": {
  "LogLevel": {
    "Default": "Warning"
  }
},
"AllowedHosts": "*"
}
like image 13
Chiranjeevi Rudregowda Avatar answered Nov 11 '22 16:11

Chiranjeevi Rudregowda