Я довольно новичок в кодировании, и вот мое требование:
- Я получаю ответ JSON , имеющий массив значений (см. Чтение, обновление, удаление в приведенном ниже ответе JSON )
- Число значений является динамическим и имеет тенденцию меняться каждый раз.
- Я хочу знать, как получить их, поместить в строковый массив и вернуть значения
Например: конечный результат должен быть как
string[] deleteValues = {"MCS:Menu:Admin","MCS:test"}
Если на этот вопрос уже есть ответ, пожалуйста, укажите мне правильное направление.
Заранее спасибо
==========================================
Я могу получить значения таким образом ...
string value1 = new JavaScriptSerializer().Deserialize<JSON_Deconstructor>(resp).Permitted[0].Delete[0].ToString();
string value2 = new JavaScriptSerializer().Deserialize<JSON_Deconstructor>(resp).Permitted[0].Delete[1].ToString();
но так как количество значений в удалении является динамическим, мне нужно, как их вытащить.
====================
фрагмент кода:
string resp = new StreamReader(request1.GetResponse().GetResponseStream()).ReadToEnd(); // resp is a JSON response from a server
JSON_Deconstructor dc = new JSON_Deconstructor { };
dc.Permitted = new Permitted[1];
string value1 = new JavaScriptSerializer().Deserialize<JSON_Deconstructor>(resp).Permitted[0].Delete[0].ToString();
string value2 = new JavaScriptSerializer().Deserialize<JSON_Deconstructor>(resp).Permitted[0].Delete[1].ToString();
==================
Содержимое класса JSON_Deconstructor:
public class JSON_Deconstructor
{
public Permitted[] Permitted { get; set; }
public Denied[] Denied { get; set; }
}
==================
Разрешенное содержание класса:
public class Permitted
{
public string[] Read { get; set; }
public string[] Update { get; set; }
public string[] Delete { get; set; }
}
=================
JSON-ответ:
{
"Permitted": [
{
"read": [
"MCS:Menu:Admin"
],
"update": [
"MCS:test"
],
"delete": [
"MCS:Menu:Admin",
"MCS:test"
]
}
]
}