Десериализация JSON возражает как Список <тип>, не работающий с asmx сервисом

19
задан Bill the Lizard 15 September 2010 в 20:59
поделиться

2 ответа

Я понял это. Я не переносился, мой JSON в объекте как Ajax ASP.NET требует. Для будущих средств просмотра этого вопроса все объекты JSON должны быть перенесены с основным объектом прежде чем быть отправленным в веб-сервис. Самый легкий способ сделать это должно создать объект в JavaScript и использовать что-то как json2.js к stringify он. Кроме того, при использовании asmx веб-сервиса объекты должны иметь __ атрибут типа, который будет сериализирован правильно. Пример этого мог бы быть:

var person=new object;
person.firstName="chris";
person.lastName="Westbrook";
person.seq=-1;
var data=new object;
data.p=person;
JSON.stringify(data);

Это создаст объект, названный p, который перенесет объект человека. Это может затем быть связано с параметром p в веб-сервисе. В списки типа person входят, точно так же принимают использование массива людей вместо просто отдельного объекта. Я надеюсь, что это помогает кому-то.

26
ответ дан 30 November 2019 в 02:24
поделиться

Вы могли показать строку JSON, которую Вы пытаетесь десериализовать, и способ, которым Вы используете эти , Десериализовывает метод? Следующее хорошо работает:

using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;

namespace Test
{
    class Program
    {
        class Person 
        {
            public int SequenceNumber { get; set; }
            public string FirstName { get; set; }
            public string LastName { get; set; }
        }

        public static void Main() 
        {
            string json = "[{\"SequenceNumber\":1,\"FirstName\":\"FN1\",\"LastName\":\"LN1\"},{\"SequenceNumber\":2,\"FirstName\":\"FN2\",\"LastName\":\"LN2\"}]";
            IList<Person> persons = new JavaScriptSerializer()
                .Deserialize<IList<Person>>(json);
            Console.WriteLine(persons.Count);
        }
    }
}
25
ответ дан 30 November 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: