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; }
}
}
}
無法反序列化當前JSON對象(例如{‘名’ :「value」}) into type 'System.Collections.Generic.List`1 [facebook.Program + RootObject]' 因爲該類型需要一個JSON數組(例如[1,2,3])來正確地反序列化 。要解決這個錯誤,可以將JSON更改爲JSON數組(例如[1,2,3]),或者更改反序列化類型,使其成爲正常的 .NET類型(例如,不是像integer這樣的基本類型,也不是集合 類型像一個數組或列表)可以是無法反序列化當前JSON對象(例如{「名稱」:「值」})成型「System.Collections.Generic.List`1
我看了其他職位。
我的JSON是這樣的:
{"data":[{"target_id":9503123,"target_type":"user"}]}
有*一個*根對象('{「data」:..}'),而不是它們的列表。 – user2864740