Rohit Sharma706 Ответов: 1

Как получить массив Джейсон возвращения из .asmx-файл, как показано ниже


Как получить значение массива json в asmx pagem следующим образом

{
        "Status": 1,
        "message": "",

        "CityList": [{
                "CityId": "1",
                "CityName": "Rajkot",
                "AreaList": [{
                        "AreaId": "1",
                        "AreaName": "Airport Road"
                }, {
                        "AreaId": "2",
                        "AreaName": "Bus Stand"
                }]
        }, {
                "CityId": "2",
                "CityName": "Ahmedabad",
                "AreaList": [{
                        "AreaId": "1",
                        "AreaName": "Airport Road"
                }, {
                        "AreaId": "2",
                        "AreaName": "Bus Stand"
                }]
        }]
}


Что я уже пробовал:

Я делаю веб-сервис в asp.net asmx pagem поэтому мне нужен тип массива Json return,
как я могу это сделать,

1 Ответов

Рейтинг:
0

Vincent Maverick Durano

Вы можете использовать JavaScriptSerializer класс для преобразования с# class/object в JSON формат точно такой же, как и то, что демонстрируется здесь: Возврат ответа JSON из веб-службы в ASP.NET

Кроме того, вы можете использовать Newtonsoft SerializeObject: Создание веб-служб в .NET для возврата данных XML и JSON

Превращать DataTable к JSON в этом обсуждении: Преобразование DataTable в JSON


Rohit Sharma706

Спасибо за УР ценный ответ, но я уже подал заявку как Ур данную ссылку, но я хочу как выше пост, у меня есть DataTable города и области, как я могу сделать код, чтобы получить как выше formate,
---------------------------------
Набор данных dsCS = Objbl.Fill_Grid("GetCountryandState", новая строка[] //Objbl.Fill_Grid("GetArea", новая строка[]
{
"Вид"

});



этот.Контексте.Ответ.ContentType = "application/json; charset=utf-8";
этот.Контексте.Ответ.Write(GetJSON(dsCS));

-------------------------------------------------------------------------------
общественного строка помощью метода getjson(форма ДС)
{
System.Web.Script.Сериализация.JavaScriptSerializer serializer = новый System.Web.Script.Сериализация.Класс javascriptserializer();
Корень коллекции = новый ArrayList();
Список<словарь<строка, Объект>> таблица;
Словарь<строка, Объект> Данные;

foreach (DataTable dt in ds.Таблицы)
{
таблица = новый список<словарь<строка, Объект>>();
по каждому элементу (объекта datarow Dr в ДТ.Строк)
{
data = новый словарь<string, object>();
по каждому элементу (объект datacolumn Коль в ДТ.Столбцы)
{
данных.Добавить(кол.Имя_столбца, доктор[кол]);
}
стол.Добавить данные);
}
корень.Добавить(таблица);
}

возвратный сериализатор.Сериализовать(корень);
}
-----------------------------------------------------------------------------
Я использую этот код, но не могу получить вышеуказанный формат. Так что, пожалуйста, помогите мне

Vincent Maverick Durano

Вы не упомянули, что хотите преобразовать DataTable в JSON. Пожалуйста, обратитесь к этому обсуждению о том, как преобразовать DataTable в JSON: https://stackoverflow.com/questions/17398019/convert-datatable-to-json-in-c-sharp

Vincent Maverick Durano

Я обновил решение, включив ссылку для преобразования DataTable в JSON. Идея по-прежнему заключается в использовании JavaScriptSerializer или Newtonsoft SerializeObject.

Member 14558079

хорошо это работает или нет