小编Rof*_*ers的帖子

JsonObject模型Facebook SDK

我必须使用facebook c#sdk作为.net 3.5中的新项目,我知道最新版本有4个示例 - 但它也是针对3.5编译的,因此完全可以正常工作.

无论如何,如果我非常愚蠢,请原谅我.但我正在寻找将json对象转换为我的模型,我可以这样做吗?

public ActionResult About()
{
    var app = new FacebookApp();
    JsonObject friends = (JsonObject)app.Get("me/friends");
    ViewData["Albums"] = new Friends((string)friends.ToString());
    return View();
}

public class Friends
{
    public string name { get; set; }
    public string id { get; set; }

    public Friends(string json)
    {
        JArray jObject = JArray.Parse(json);
        JToken jData = jObject["data"];

        name = (string)jData["name"];
        id = (string)jData["id"];
    }
}
Run Code Online (Sandbox Code Playgroud)

这是使用Json.Net.显然这不起作用,我得到的错误是

从JsonReader读取JArray时出错.当前的JsonReader项不是数组:StartObject

我很确定我的方法完全是错误的 - 所以如果有人能提供任何提示,我会非常感激.

c# json json.net .net-3.5 facebook-c#-sdk

8
推荐指数
1
解决办法
5902
查看次数

使用Json.net将JSON数组中的多个项添加到C#中的对象

谁能告诉我如何反序列化包含多个属性的对象?

鉴于下面的场景,代码工作正常.

public ActionResult Index()
{
    string json = @"{""name"": ""Person 2"",""email"": ""example@example.com""}";

    var emp = JsonConvert.DeserializeObject<Person>(json);
    Response.Write(emp.name + emp.email);
    return View();
}

public class Person
{
    public string name { get; set; }
    public string email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是如果数组包含多个项目,我该怎么办呢?

string json = @"{""data"": [{""name"": ""Person 1"",""email"": ""test@test.com""},{""name"": ""Person 2"",""email"": ""example@example.com""}]}";
Run Code Online (Sandbox Code Playgroud)

提前致谢

下面给出的答案对于我提出的问题是完美的,但现在我已经领先一步了.任何人都可以告诉我如果json有一个数组,我需要做什么,例如添加一个地址?

{
    "data": [
        {
            "name": "Person 1",
            "email": "test@test.com",
            "address": {
                "address1": "my address 1",
                "address2": "my address 2" 
            } 
        },
        {
            "name": "Person …
Run Code Online (Sandbox Code Playgroud)

c# json.net deserialization

5
推荐指数
1
解决办法
2万
查看次数

使用Facebook C#SDK表单发布

任何人都可以指出我如何在MVC应用程序中使用Facebook C#SDK的表单帖子?这是一个基于iframe的Canvas应用程序.

我有以下代码

[HttpPost, CanvasAuthorize(Permissions = "publish_stream")]
public ActionResult Enter(FormCollection col)
{
    var fbApp = new FacebookClient(this.CurrentSession.AccessToken);

    JsonObject result = (JsonObject)fbApp.Get("me");

    long FacebookId = long.Parse(result["id"].ToString());

    //CODE TO INSERT GOES HERE

     return View();
}
Run Code Online (Sandbox Code Playgroud)

形式就是这样

<form action="/EnterComp/Enter" enctype="multipart/form-data" method="post">
<fieldset>
    <legend>Fields</legend>
    <div class="editor-label">
        <label for="Text">Text</label>

    </div>
    <div class="editor-field">
        <input id="Text" name="Text" type="text" value="" />

    </div>
    <div class="editor-label">
        <label for="ImagePath">ImagePath</label>
    </div>
    <div class="editor-field">

        <input type="file" name="ImagePath" id="ImagePath">

    </div>
    <div class="editor-label">
        <label for="VideoPath">VideoPath</label>
    </div>
    <div class="editor-field">
        <input type="file" name="VideoPath" id="VideoPath">

    </div>

    <p>
        <input …
Run Code Online (Sandbox Code Playgroud)

c# facebook facebook-c#-sdk

2
推荐指数
1
解决办法
1057
查看次数