标签: deserialization

如何用C#解析JSON?

我有以下代码:

var user = (Dictionary<string, object>)serializer.DeserializeObject(responsecontent);
Run Code Online (Sandbox Code Playgroud)

输入responsecontent是JSON,但未正确解析为对象.我应该如何正确地反序列化它?

c# json json.net deserialization

424
推荐指数
12
解决办法
103万
查看次数

使用Newtonsoft将JSON反序列化为.NET对象(或者LINQ to JSON可能?)

我知道有一些关于Newtonsoft的帖子,所以希望这不是一个重复......我正在尝试将Kazaa的API返回的JSON数据转换成某种形状的好对象

WebClient client = new WebClient();
Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album");
StreamReader reader = new StreamReader(stream);

List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString());

foreach (string item in list)
{
    Console.WriteLine(item);
}

//Console.WriteLine(reader.ReadLine());
stream.Close();
Run Code Online (Sandbox Code Playgroud)

那个JsonConvert系列只是我最近尝试过的一个......我不太了解它并且希望通过问你们来消除一些步法.我原本试图将它转换为字典或其他东西......实际上,我只需要在那里获取一些值,因此根据文档来判断,也许Newtonsoft的LINQ to JSON可能是更好的选择?思考/链接?

以下是JSON返回数据的示例:

{
  "page": 1,
  "total_pages": 8,
  "total_entries": 74,
  "q": "muse",
  "albums": [
    {
      "name": "Muse",
      "permalink": "Muse",
      "cover_image_url": "http://image.kazaa.com/images/69/01672812 1569/Yaron_Herman_Trio/Muse/Yaron_Herman_Trio-Muse_1.jpg",
      "id": 93098,
      "artist_name": "Yaron Herman Trio"
    },
    {
      "name": "Muse",
      "permalink": "Muse",
      "cover_image_url": "htt p://image.kazaa.com/images/54/888880301154/Candy_Lo/Muse/Candy_Lo-Muse_1.jpg",
      "i d": 102702,
      "artist_name": "\u76e7\u5de7\u97f3"
    },
    {
      "name": "Absolution",
      "permalink": " Absolution",
      "cover_image_url": …
Run Code Online (Sandbox Code Playgroud)

c# linq json json.net deserialization

310
推荐指数
8
解决办法
65万
查看次数

如何在JSON.NET中实现自定义JsonConverter来反序列化基类对象的列表?

我试图扩展这里给出的JSON.net示例 http://james.newtonking.com/projects/json/help/CustomCreationConverter.html

我有另一个派生自基类/接口的子类

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public class Employee : Person
{
    public string Department { get; set; }
    public string JobTitle { get; set; }
}

public class Artist : Person
{
    public string Skill { get; set; }
}

List<Person> people  = new List<Person>
{
    new Employee(),
    new Employee(),
    new Artist(),
};
Run Code Online (Sandbox Code Playgroud)

如何将Json反序列化回List <Person>

[
  {
    "Department": "Department1",
    "JobTitle": "JobTitle1",
    "FirstName": "FirstName1", …
Run Code Online (Sandbox Code Playgroud)

c# json json.net deserialization

292
推荐指数
6
解决办法
25万
查看次数

.NET NewtonSoft JSON将映射反序列化为不同的属性名称

我有以下从外部方收到的JSON字符串.

{
   "team":[
      {
         "v1":"",
         "attributes":{
            "eighty_min_score":"",
            "home_or_away":"home",
            "score":"22",
            "team_id":"500"
         }
      },
      {
         "v1":"",
         "attributes":{
            "eighty_min_score":"",
            "home_or_away":"away",
            "score":"30",
            "team_id":"600"
         }
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我的映射类:

public class Attributes
{
    public string eighty_min_score { get; set; }
    public string home_or_away { get; set; }
    public string score { get; set; }
    public string team_id { get; set; }
}

public class Team
{
    public string v1 { get; set; }
    public Attributes attributes { get; set; }
}

public class RootObject
{ …
Run Code Online (Sandbox Code Playgroud)

serialization json json.net deserialization c#-4.0

271
推荐指数
5
解决办法
20万
查看次数

将JSON反序列化为JavaScript对象

我在使用AJAX访问的Java服务器应用程序中有一个字符串.它看起来像下面这样:

var json = [{
    "adjacencies": [
        {
          "nodeTo": "graphnode2",
          "nodeFrom": "graphnode1",
          "data": {
            "$color": "#557EAA"
          }
        }
    ],
    "data": {
      "$color": "#EBB056",
      "$type": "triangle",
      "$dim": 9
    },
    "id": "graphnode1",
    "name": "graphnode1"
},{
    "adjacencies": [],
    "data": {
      "$color": "#EBB056",
      "$type": "triangle",
      "$dim": 9
    },
    "id": "graphnode2",
    "name": "graphnode2"
}];
Run Code Online (Sandbox Code Playgroud)

当字符串从服务器中拉出时,是否有一种简单的方法可以将其转换为活动的JavaScript对象(或数组)?或者我是否必须手动拆分字符串并手动构建我的对象?

javascript json deserialization

246
推荐指数
5
解决办法
31万
查看次数

将Stream转换为String并返回...我们缺少什么?

我想将对象序列化为字符串,然后返回.

我们使用protobuf-net将对象转换为Stream并成功返回.

但是,Stream to string and back ...不太成功.经过StreamToString并且StringToStream,新Stream的没有被protobuf-net反序列化; 它提出了一个Arithmetic Operation resulted in an Overflow例外.如果我们反序列化原始流,它可以工作.

我们的方法:

public static string StreamToString(Stream stream)
{
    stream.Position = 0;
    using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
    {
        return reader.ReadToEnd();
    }
}

public static Stream StringToStream(string src)
{
    byte[] byteArray = Encoding.UTF8.GetBytes(src);
    return new MemoryStream(byteArray);
}
Run Code Online (Sandbox Code Playgroud)

我们的示例代码使用这两个:

MemoryStream stream = new MemoryStream();
Serializer.Serialize<SuperExample>(stream, test);
stream.Position = 0;
string strout = StreamToString(stream);
MemoryStream result = (MemoryStream)StringToStream(strout);
var other = …
Run Code Online (Sandbox Code Playgroud)

.net c# serialization protobuf-net deserialization

152
推荐指数
6
解决办法
32万
查看次数

使用JSON.NET将JSON数据反序列化为C#

我对使用C#和JSON数据相对较新,我正在寻求指导.我正在使用C#3.0,.NET3.5SP1和JSON.NET 3.5r6.

我有一个定义的C#类,我需要从JSON结构填充.但是,并非从Web服务检索的条目的每个JSON结构都包含在C#类中定义的所有可能的属性.

我一直在做看似错误的,艰难的方法,只是从JObject中逐个挑选每个值,并将字符串转换为所需的类属性.

JsonSerializer serializer = new JsonSerializer();
var o = (JObject)serializer.Deserialize(myjsondata);

MyAccount.EmployeeID = (string)o["employeeid"][0];
Run Code Online (Sandbox Code Playgroud)

将JSON结构反序列化为C#类并处理来自JSON源的可能缺失数据的最佳方法是什么?

我的课程定义为:

  public class MyAccount
  {

    [JsonProperty(PropertyName = "username")]
    public string UserID { get; set; }

    [JsonProperty(PropertyName = "givenname")]
    public string GivenName { get; set; }

    [JsonProperty(PropertyName = "sn")]
    public string Surname { get; set; }

    [JsonProperty(PropertyName = "passwordexpired")]
    public DateTime PasswordExpire { get; set; }

    [JsonProperty(PropertyName = "primaryaffiliation")]
    public string PrimaryAffiliation { get; set; }

    [JsonProperty(PropertyName = "affiliation")]
    public string[] Affiliation { get; …
Run Code Online (Sandbox Code Playgroud)

c# json json.net deserialization

143
推荐指数
4
解决办法
34万
查看次数

性能实体序列化:BSON与MessagePack(vs JSON)

最近我发现了MessagePack,这是Google的Protocol BuffersJSON的替代二进制序列化格式,它也优于两者.

还有MongoDB用于存储数据的BSON序列化格式.

有人可以详细说明BSON与MessagePack差异和优势吗?


只是为了完成高效的 二进制序列化格式列表:还有Gobs将成为Google协议缓冲区的继承者.然而,与所有其他提到的格式相比,这些格式不是语言无关的,并且依赖于Go的内置反射,至少还有除Go之外的其他语言的Gobs库.

serialization bson deserialization messagepack msgpack

131
推荐指数
4
解决办法
6万
查看次数

什么是JSON中的反序列化和序列化?

我是JSON的新手.现在,我需要为我的Flash ActionScript 3.0使用JSON.所以我找到了一个用于JSON的库,我看到了术语"反序列化"和"序列化".他们的意思是什么?

serialization json deserialization json-deserialization json-serialization

99
推荐指数
2
解决办法
10万
查看次数

与gson的多态性

我在使用Gson反序列化json字符串时遇到问题.我收到一系列命令.该命令可以是start,stop,其他一些命令.当然我有多态,并且start/stop命令继承自命令.

如何使用gson将其序列化回正确的命令对象?

似乎我只得到基类型,即声明的类型,而不是运行时类型.

java polymorphism json gson deserialization

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