C# 在C中读取JSON#

C# 在C中读取JSON#,c#,json,json.net,C#,Json,Json.net,我正在创建一个web服务以获取JSON中的输入。请参阅下面的代码: 注册。asmx using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Script.Serialization; using System.IO; using AnkTech.IsItFair.WebService.Provid

我正在创建一个web服务以获取JSON中的输入。请参阅下面的代码:

注册。asmx

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Serialization;
using System.IO;
using AnkTech.IsItFair.WebService.Providers;
using System.Json;
using System.Runtime.Serialization.Json;
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;

namespace WebService
{
    /// <summary>
    /// Summary description for Registration
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Registration : System.Web.Services.WebService
    {

        [WebMethod]
        public int SaveUser()
        {
            string json =
                @"{""data"":[{""Id"":""518523721"",""Name"":""ftyft""}]}";

            Users tempRecord = JsonConvert.DeserializeObject<Users>(json);
            return 1;

        }
    }
}

当我检查我的对象tempRecord时,我发现我的两个属性的空值,即IdName。我做错了什么。请帮忙。

如果你是靠休息来做的,那么你可以这样做

[WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/index")]
要反序列化json

var userList = JsonConvert.DeserializeObject<List<User>>(json);
string json = JsonConvert.SerializeObject(employeeList, Formatting.Indented);

对于序列化和反序列化以及更多文档,您可以转到

,您需要添加一个新的poco类,例如

    public class UserData
    {
        [JsonProperty(PropertyName = "data")]
        public IList<Users> Users { get; set; }
    }
公共类用户数据
{
[JsonProperty(PropertyName=“data”)]
公共IList用户{get;set;}
}
然后

    var tempRecord = JsonConvert.DeserializeObject<UserData>(json);
var tempRecord=JsonConvert.DeserializeObject(json);

它应该会起作用

尝试从JSON示例中删除
数据
(使用对象列表,例如:
[{“Id”:1,“Name”:“Foo”},{…},{…}]
),将类重命名为
用户
,并使用
列表
反序列化。并阅读文档。
    var tempRecord = JsonConvert.DeserializeObject<UserData>(json);