JSON строки:Ошибка при разборе JSON
[{"id":"1","username":"admin","password":"anymd5hash","rank":"2"}]
следующий код:
Newtonsoft.Json.Linq.JObject userData;
userData = Newtonsoft.Json.Linq.JObject.Parse(result);
MessageBox.Show(userData["username"].ToString());
Когда я выполняю этот код, то будет ошибка:
Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path '', line 1, position 1.
Я довольно что этот код работал в другом проекте.
В чем моя ошибка?
Извлеките '[' и ']' из вашей строки и повторите попытку. Это массив. –
Или, скорее всего, переключитесь на 'Newtonsoft.Json.Linq.JArray.Parse'. Это позволит принять ваш существующий вход. 'JToken' также будет работать как для массивов (что у вас есть), так и для объектов. –
Если вы не знаете заранее, если корневой объект является массивом или объектом, используйте ['JToken.Parse()'] (http://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_Linq_JToken_Parse.htm) , – dbc