Ne peut pas désérialiser l'actuel objet JSON (par exemple, {“name”:“valeur”}) dans le " type de Système.Les Collections.Génériques.Liste 1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Facebook;
using Newtonsoft.Json;

namespace facebook
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new FacebookClient(acc_ess);
            dynamic result = client.Get("fql", new { q = "select target_id,target_type from connection where source_id = me()"});
            string jsonstring = JsonConvert.SerializeObject(result);

            //jsonstring {"data":[{"target_id":9503123,"target_type":"user"}]}
            List<RootObject> datalist = JsonConvert.DeserializeObject<List<RootObject>>(jsonstring);
        }

        public class Datum
        {
            public Int64 target_id { get; set; }
            public string target_type { get; set; }
        }

        public class RootObject
        {          
            public List<Datum> data { get; set; }
        }
    }
}

Ne peut pas désérialiser l'actuel objet JSON (par exemple, {"name":"valeur"})
dans le type
'Système.Les Collections.Génériques.Liste`1[facebook.Programme+RootObject]'
parce que le type requiert un tableau JSON (par exemple, [1,2,3]) pour désérialiser
correctement. Pour corriger cette erreur soit modifier le JSON d'un tableau JSON
(par exemple, [1,2,3]) ou de modifier le désérialisé, de façon à ce que c'est normal
.NET type (par exemple, pas un type primitif comme entier, n'est pas une collection
type comme un tableau ou une Liste) qui peut être

J'ai regardé d'autres postes.

Mon json ressemble à ceci:

{"data":[{"target_id":9503123,"target_type":"user"}]}
  • Il y a un objet racine ({"data": ..}), pas une liste d'entre eux.
InformationsquelleAutor user3236519 | 2014-01-26