我在将此代码移植到c#时遇到问题。我的主要麻烦在于$ fb_activity_array。
$fb_activity_message = '{*actor*} played this game';
$fb_activity_array = json_encode(array('message' => $fb_activity_message, 'action_link' => array('text' => 'Play Now','href' => 'http://yoururltoplaygamegere')));
答案 0 :(得分:1)
这是Facebook应用程序的任何机会吗?看起来你正在尝试创建一个Stream帖子。如果是这样,我建议使用.NET Facebook API,其中包含执行您想要的功能,以及一些JSON格式化实用程序,如果您需要手动执行某些操作。
答案 1 :(得分:0)
这不是一个完美的例子,但这可能会让你走上正确的道路。首先创建一个对象来保存数据。
public class activity
{
public activity(string message, object action_link)
{
Message = message;
Action_Link = action_link;
}
public string Message { get; set; }
public object Action_Link { get; set; }
}
public class action_link
{
public string Text { get; set; }
public string Href { get; set; }
public action_link(string text, string href)
{
Text = text;
Href = href;
}
}
然后你想创建一个这样的类来序列化它:
using System;
using System.Web;
using System.Web.Script.Serialzation;
public class activityHandler : IHttpHandler
{
public void ProcessRequest (HttpContext context) {
string message = "{*actor*} played this game";
string text = "Play Now";
string href = "http://yoururltoplaygamegere";
action_link link = new action_link(text, href);
activity act = new activity(message, link);
JavaScriptSerializer serializer = new JavaScriptSerializer();
context.Response.Write(serializer.Serialize(act));
context.Response.ContentType = "application/json";
}
public bool IsReusable
{
get
{
return false;
}
}
}
这很可能会为您提供序列化时要查找的JSON结构。如果符合您要实现的标准,则可以将action_link对象转换为集合,以便每个活动对象可以有多个action_link对象,依此类推。您可以在此处了解有关此示例中使用的序列化的更多信息:
JSON Serialization in ASP.NET with C#
希望这有帮助。