反序列化从 twitter api 1.1 c# 返回的推文
Deserialize tweets returned from twitter api 1.1 c#
当我传入一个特定的屏幕名称时,返回给我的是以下内容。
我一直在关注这个Deserialize JSON into C# dynamic
我正在尝试通过执行以下操作来引用文本字段:
var serializer = new JavaScriptSerializer();
dynamic data = serializer.Deserialize(tweets, typeof(object));
for (int i = 0; i < data.Count; i++)
{
var t = data[i][3].text;
}
显然是错误的,因为我得到
Additional information: Operator '<' cannot be applied to operands of type 'int' and 'object[]'
谁能帮我检索推文的文本。
如您所见,文本是您正在接收的 json 的根元素的属性。
我建议您使用 Json.net 库来解析 json 字符串并将其映射到您可以在代码中使用的对象。
您可以在这里下载:https://www.nuget.org/packages/newtonsoft.json/
为了从 json 字符串中获取文本,您必须执行以下操作:
在 c# 中创建一个具有所需属性的 class。这是class,根节点的属性将被映射到。这样做,你必须在你的程序中实现你想要处理的属性(例如 "text")。
class Tweet{
public string created_at { get; set; }
public long id { get; set; }
public string id_str { get; set; }
public string text { get; set; }
public string source { get; set; }
}
现在您可以使用该库解析 Tweet 对象,然后获取文本属性。
var tweet = JsonConvert.DeserializeObject<Tweet>(jsonString);
var text = Tweet.text;
当我传入一个特定的屏幕名称时,返回给我的是以下内容。
我一直在关注这个Deserialize JSON into C# dynamic
我正在尝试通过执行以下操作来引用文本字段:
var serializer = new JavaScriptSerializer();
dynamic data = serializer.Deserialize(tweets, typeof(object));
for (int i = 0; i < data.Count; i++)
{
var t = data[i][3].text;
}
显然是错误的,因为我得到
Additional information: Operator '<' cannot be applied to operands of type 'int' and 'object[]'
谁能帮我检索推文的文本。
如您所见,文本是您正在接收的 json 的根元素的属性。
我建议您使用 Json.net 库来解析 json 字符串并将其映射到您可以在代码中使用的对象。 您可以在这里下载:https://www.nuget.org/packages/newtonsoft.json/
为了从 json 字符串中获取文本,您必须执行以下操作:
在 c# 中创建一个具有所需属性的 class。这是class,根节点的属性将被映射到。这样做,你必须在你的程序中实现你想要处理的属性(例如 "text")。
class Tweet{ public string created_at { get; set; } public long id { get; set; } public string id_str { get; set; } public string text { get; set; } public string source { get; set; } }
现在您可以使用该库解析 Tweet 对象,然后获取文本属性。
var tweet = JsonConvert.DeserializeObject<Tweet>(jsonString); var text = Tweet.text;