相关疑难解决方法(0)

如何用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万
查看次数

将JSON写入流而不缓冲内存中的字符串

我想Stream通过显式构建文档来编写JSON .例如:

var stream = ...;
var writer = new JsonWriter(stream);

writer.BeginArray();
{
  writer.BeginObject();
  {
    writer.String("foo");
    writer.Number(1);
    writer.String("bar");
    writer.Number(2.3);
  }
  writer.EndObject();
}
writer.EndArray();
Run Code Online (Sandbox Code Playgroud)

这会产生:

[
  {
    "foo": 1,
    "bar": 2.3
  }
]
Run Code Online (Sandbox Code Playgroud)

这种方法的好处是不需要在内存中缓冲任何内容.在我的情况下,我在流中写了很多JSON.像这样的解决方案涉及在内存中创建所有对象,然后将它们序列化为内存中的大字符串,然后最终将此字符串写入流和垃圾收集,可能来自LOH.我想保持内存使用率低,在从另一个文件/ DB/etc流中读取数据时写出元素.

这种方法可以通过rapidjson库在C++中使用.

我已经搜索了很多,但没有找到解决方案.

.net c# io json

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

JavaScriptSerializer 类是否已弃用?

JavaScriptSerializer 类的MSDN 文档指出:

Json.NET 应该使用序列化和反序列化。为支持 AJAX 的应用程序提供序列化和反序列化功能。

这应该是某种弃用提示还是应该根本不使用此类(出于 JSON 序列化的目的)?

c# asp.net-mvc serialization json

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

标签 统计

c# ×3

json ×3

.net ×1

asp.net-mvc ×1

deserialization ×1

io ×1

json.net ×1

serialization ×1