繁体   English   中英

c#:异化到数据集

[英]c# : Deserealization to DataSet

谁能在C#上帮助JSON字符串解析?

我试图从https://www.newtonsoft.com/json/help/html/DeserializeDataSet.htm复制示例

string json = @"{
                'Table1': [
                      {
                       'id': 0,
                       'item': 'item 0'
                      },
                      {
                        'id': 1,
                        'item': 'item 1'
                      }
                      ]
                     }";

dataSet = JsonConvert.DeserializeObject<DataSet>(json);

我收到异常:

JsonConvert.DeserializeObject异常System.Runtime.Serialization.SerializationException:找不到成员'XmlSchema'。 09-17 07:41:27.075 I / mono-stdout(3691):JsonConvert.DeserializeObject异常System.Runtime.Serialization.SerializationException:找不到成员'XmlSchema'。 在System.Runtime.Serialization.SerializationInfo.GetValue的<3fd174ff54b146228c505f23cf75ce71>:0中的System.Runtime.Serialization.SerializationInfo.GetElement(System.String名称,System.Type&foundType)[0x00020]上(System.String名称,System.Type类型)[0x0002e],位于<3fd174ff54b146228c505f23cf75ce71>:0中,位于System.Data.DataSet.DeserializeDataSetSchema(System.Runtime.Serialization.SerializationInfo信息,System.Runtime.Serialization.StreamingContext上下文,System.Data.SerializationFormat远程格式化,System.Data.SchemaSerializationMode )[0x000f5]在0处位于System.Data.DataSet.DeserializeDataSet(System.Runtime.Serialization.SerializationInfo信息,System.Runtime.Serialization.StreamingContext上下文,System.Data.SerializationFormat remotingFormat,System.Data.SchemaSerializationMode schemaSerializationMode)中[0x00000f5] ]在System.Data.DataSet..ctor(System.Runtime.Serialization.SerializationInfo inf o,System.Runtime.Serialization.StreamingContext上下文中, (0。方法)System.Object:lambda_method(System.Runtime.CompilerServices.Closure,object [])在Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateISerializable(Newtonsoft.Json.JsonReader阅读器,Newtonsoft.Json.Serialization.JsonISerializableContract合同,Newton .Serialization.JsonProperty成员,System.String id)[0x0015b]在Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(Newtonsoft.Json.JsonReader reader,System.Type objectType,Newtonsoft.Json.Serialization.JsonContract合同,Newtonsoft。 .Json.Serialization.JsonProperty成员,Newtonsoft.Json.Serialization.JsonCo ntainerContracterContainerContract containerContract,Newtonsoft.Json.Serialization.JsonProperty containerMember,System.Object存在值)[0x00347]在:0处Ne wtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(Newtonsoft.Json.JsonReader reader,System.Type objectType,Newtonsoft.Json.Serialization.JsonContract合同,Newtonsoft.Json.Serialization.JsonProperty成员,Newtonsoft.Json.Serialization.JsonContainer .Json.Serialization.JsonProperty containerMember,System.Object现有值)[0x0006d]在Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(Newtonsoft.Json.JsonReader reader,System.Type objectType,System.Boolean checkAdditionalContent)中为0:在0时在Newtonsoft.Json.JsonSerializer.DeserializeInternal(Newtonsoft.Json.JsonReader reader,System.Type objectType)[0x00053]在:0时在Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader reader,System.Type objectType )[0x00000]在Newtonsoft.Json.JsonConvert.DeserializeObject的:0中(System.String值,System.Type类型,Newtonsoft.Json.JsonSerializerSettings设置)[0x 0002d]在0时在Newtonsoft.Json.JsonConvert.DeserializeObject [T](System.String值,Newtonsoft.Json.JsonSerializerSettings设置)在[0x00000]中:0

什么东西少了? 我应该添加任何XML模式吗?

正如@Willem在评论中指出的那样,请使用双引号( 在此处验证):

{
    "Table1": [{
            "id": 0,
            "item": "item 0"
        },
        {
            "id": 1,
            "item": "item 1"
        }
    ]
}

以下表示图是JSON.org的描述 在此处输入图片说明

就我而言,我正在使用Asp.Net Core。 我需要使用nuget并获取Newtonsoft.Json的最新版本。 也许该应用程序使用预安装的Newton.Json旧版本。 获得最新的Newtonsoft.Json(v12.0.1)之后,它可以完美运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM