DGKumar Ответов: 2

Как передать несколько объектов как один json в C#?


How to pass multiple object as single json format
my object like below

public class Emp
{
    public string Id{ get; set; }
    public string Name{ get; set; }
}

Now i need to pass json like below

[  
    {
        "Id": "John",
        "Name": "US"
    },
    {
        "Id": "John",
        "Name": "US"
    },
    {
        "Id": "John",
        "Name": "US"
    },
    {
        "Id": "John",
        "Name": "US"
    }
]


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

Я пробовал с приведенным ниже кодом, но получал правильные данные для одного объекта json.
Но мне нужно получить несколько данных в квадратных скобках.
Не могли бы вы подсказать, как продолжить, чтобы получить несколько объектов с разделенными запятыми.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
namespace ToCommaExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Service objService = new Service();
            Service objService2 = new Service();
            var listData = new List<SecurityAuditData>
            {
                new SecurityAuditData {TransactionName = "UserAdded",
                EntityID = "useradded@test.com",
                UserIdentity = "identity1"},
                
            };
            var listData2 = new List<SecurityAuditData>
            {
                new SecurityAuditData {TransactionName = "SecurityRoleUpdated",
                EntityID = "SecurityRoleUpdated@test.com",
                UserIdentity = "identity2"},

            };
            objService.AuditData = listData;
            objService2.AuditData = listData2;
            var finalJson = JsonConvert.SerializeObject(objService2.AuditData, Formatting.Indented);
                      Console.WriteLine(finalJson);
            Console.Read();
        }
    }

  
    public class SecurityAuditData
    {
        public string TransactionName { get; set; }
        public string EntityID { get; set; }
        public string UserIdentity { get; set; }
       
    }
    class Service
    {
        [NonSerialized]
  
        public object AuditData;
    }

}

Представьте результат, как показано ниже
[
  {
    "TransactionName": "SecurityRoleUpdated",
    "EntityID": "SecurityRoleUpdated@test.com",
    "UserIdentity": "identity2"
  }
]

Ожидаемый результат
[
  {
    "TransactionName": "SecurityRoleUpdated",
    "EntityID": "SecurityRoleUpdated@test.com",
    "UserIdentity": "identity2"
  },
 {
    "TransactionName": "UserAdded",
    "EntityID": "useradded@test.com",
    "UserIdentity": "identity1"
}
]

F-ES Sitecore

У вас есть список<Emp> или массив Emp, и он будет сериализован так, как вы хотите.

DGKumar

Привет я обновил запрос о том что я пытался получить несколько объектов json данных
Не могли бы вы подсказать, как получить данные?

2 Ответов

Рейтинг:
2

summiya1

Сделай что-нибудь вроде этого

ВАР finalJson = формат JSON.Сериализация(classObj);


DGKumar

Привет Суммия,

Я должен добавить объект индивидуально, как показано ниже, и объект должен получить из разных функциональных возможностей, но поля одинаковы.

Emp obj=новый Emp();
параметр obj.ИД=123,
obj.Name="Тест1"
списке addlist(объект);

Obj1 ЭМП=новый пуп();
obj1.С ID=1234,
obj1.Name="Тест12"
addList(obj1);
Эми obj2=новый пуп();
obj2.Id=12335,
obj2.Name="Тест13"
addList(obj2);
Эми obj3=новый пуп();
obj3.Id=1233,
obj3.Name="Тест14"
addList(obj3);

наконец, мне нужно передать все эти объекты с одним объектом json в API.
API должен получить именно такой результат.
[
{
"Id": "Джон",
"назвать нас"
},
{
"Id": "Джон",
"назвать нас"
},
{
"Id": "Джон",
"назвать нас"
},
{
"Id": "Джон",
"назвать нас"
}
]

Приведенная ниже ссылка получается с уровня jquery, но я хочу реализовать ее на уровне бизнес-логики
http://www.binaryintellect.net/articles/bfbda4a5-17ba-4820-824a-4a25373379a1.aspx

Рейтинг:
0

summiya1

да это очень просто вы можете передать этот список в JSON Serialize

использование Newtonsoft.Json;

ВАР в JSON = JsonConvert.SerializeObject(yourlist_here);

для этого вы должны установить его в свой проект через Диспетчер пакетов NuGet (Tools --> NuGet Package Manager --> Package Manager Console):

PM> Install-пакет Newtonsoft.Json


DGKumar

ПРИВЕТ
Используя этот код я Бэйл получу только один результат
Но нужно получить несколько результатов
использование Newtonsoft.Json;
использование системы;
использование системы.Коллекции.Общий;
использование системы.ИО;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;


пространство имен ConsoleApplication22
{
классная программа
{







static void Main(string[] args)
{
JsonResultMethods obj = новые JsonResultMethods();

JsonResult objJsonResult = новый JsonResult();
ВАР finalJson = JsonConvert.SerializeObject(объект.М1());
Приставка.WriteLine(finalJson);
Приставка.Прочитай();
}

}

класс JsonResult {
public int Id { get; set; }
public string Name { get; set; }

}
класс JsonResultMethods
{

публичный список<jsonresult> M1()
{
Список<jsonresult&ГТ; objList = новый список<jsonresult и GT;() { новый JsonResult() { ИД = 1, имя = "тест" } };
возврат objList;
}
публичный список<jsonresult> M2()
{
Список<jsonresult&ГТ; objList = новый список<jsonresult и GT;() { новый JsonResult() { ИД = 19, наименование = "test2 на" } };
возврат objList;
}
}



}
Получение Результата: [{"Id":1,"Name":"Test"}]
Фактический результат должен быть таким [{"Id":1,"Name":"Test"},{"Id":19,"Name":"Test2"}]

DGKumar

Мне нужны данные json, как показано ниже, для нескольких объектов с одинаковыми свойствами класса.
[{},{},{}]

Member 14153700

Привет, братан... теперь я застрял с этим. не могли бы вы переслать мне какой-нибудь код? это будет большая помощь, которую я пытаюсь реализовать в asp.net основной веб-api