I am trying to Deserialize the string to JSON Object using JsonConvert.DeserializeObject like below:

```
 var str = "{ Value: \"File\",Text: \"OWENS &amp; MINOR  INFANT - 2228548\"}";
agreementnodes = JsonConvert.DeserializeObject<List<AgreementNode>>("[" + str + "]");

```

When the json is converted to an array the properties are alphabetically ordered. Example : Even though Value is first and Text is in the string the properties are displayed like below:

[![enter image description here](https://i.stack.imgur.com/fa9kS.png)](https://i.stack.imgur.com/fa9kS.png)

Even in the class declaration, I Value is Firs and Text is second. But when de-serializing, the properties are sorted alphabetically.

```
[JsonProperty(Order = 9)]
public string Value { get; set; }

[JsonProperty(Order = 10)]
public string Text { get; set; }

```

Is there any way to retain the order of the properties in the resultant array like I want resultantarray[0] = Value and resultantarray[1](https://i.stack.imgur.com/fa9kS.png) = Text?