Any better way to read Json array I have a json file - WorkflowNames.json with contents as -
[&quot;ImportOrder&quot;, &quot;ValidateOrder&quot;, &quot;ProcessOrder&quot;, &quot;ArchiveOrder&quot;]

My C# code to read this json file is -
private Dictionary&lt;string, bool&gt; GetWorkflowNames()
{
  var appDataFolder = ConfigurationMgr.GetAppPath(&quot;App_Data&quot;);
  var jsonFilePath = Path.Combine(appDataFolder, &quot;WorkflowNames.json&quot;);
  JArray workflowNames = (JArray)JsonConvert.DeserializeObject(System.IO.File.ReadAllText(jsonFilePath));

  var workflowNamesDictionary = new Dictionary&lt;string, bool&gt;();
  foreach (JToken workflowName in workflowNames)
  {
    workflowNamesDictionary.Add(workflowName.ToString(), false);
  }

  return workflowNamesDictionary;
}

My code runs fine. But because this is my first attempt to read data from a json file, I am not sure about these -

As a json standard, any data in json file should be represented as key value pair. If I have just an array to read from json file, is it okay to declare as above?
Is there any better way, can I improve/simplify above C# code?

Thanks a lot!
Json.Net has support for collections built-in. You should be able to use the generic version of DeserializeObject like this:
private Dictionary&lt;string, bool&gt; GetWorkflowNames()
{
    var appDataFolder = ConfigurationMgr.GetAppPath(&quot;App_Data&quot;);
    var jsonFilePath = Path.Combine(appDataFolder, &quot;WorkflowNames.json&quot;);
    var jsonString = System.IO.File.ReadAllText(jsonFilePath);
    var workflowNames = JsonConvert.DeserializeObject&lt;List&lt;string&gt;&gt;(jsonString);
    return workflowNames.ToDictionary(name =&gt; name, _ =&gt; false);
}

There are still a few things I would clean up in your code:
Add a using for System.IO and use File without the namespace. You could also use a static using like this using static System.IO.File; and access ReadAllText directly but I generally dislike this unless the class is very focussed and heavily using File.
You'll notice that I introduced a local variable jsonString as I don't like hiding the file access in the call to deserialize the json. I try to stick rigidly to one thing happening per line. Simple and clear code is best when you want to maintain it 2 years later.
I'd also recommend using .ToDictionary as it shortens the code and makes it very obvious what you're doing. Having said that, I would have this return an IEnumerable&lt;string&gt; instead of a dictionary. It's not clear why this returns a dictionary and GetWorkflowNames sounds like it would be perfectly reasonable to return the list.