Json.NET 可以对流进行序列化/反序列化吗?

2024-04-15

我听说 Json.NET 比 DataContractJsonSerializer 更快,并且想尝试一下......

但我在 JsonConvert 上找不到任何采用流而不是字符串的方法。

例如,为了在 WinPhone 上反序列化包含 JSON 的文件,我使用以下代码将文件内容读取为字符串,然后反序列化为 JSON。在我的(非常临时的)测试中,它似乎比使用 DataContractJsonSerializer 直接从流中反序列化慢了 4 倍......

// DCJS
DataContractJsonSerializer dc = new DataContractJsonSerializer(typeof(Constants));
Constants constants = (Constants)dc.ReadObject(stream);

// JSON.NET
string json = new StreamReader(stream).ReadToEnd();
Constants constants = JsonConvert.DeserializeObject<Constants>(json);

我做错了吗?


当前版本的 Json.net 不允许您使用接受的答案代码。当前的替代方案是:

public static object DeserializeFromStream(Stream stream)
{
    var serializer = new JsonSerializer();

    using (var sr = new StreamReader(stream))
    using (var jsonTextReader = new JsonTextReader(sr))
    {
        return serializer.Deserialize(jsonTextReader);
    }
}

文档:从文件流反序列化 JSON http://www.newtonsoft.com/json/help/html/DeserializeWithJsonSerializerFromFile.htm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Json.NET 可以对流进行序列化/反序列化吗? 的相关文章

随机推荐

  • 如何获取textView可以在Android中显示的数字线

    我想知道 textView 可以显示的数轴 我可以在一行中获取数字字符 int maxVisibleChars textView getPaint breakText text true textView getMeasuredWidth
  • Meteor Subscribe 不更新集合的排序顺序

    Snippet from Template div class post container each elements gt post element this each div Snippet from Client Meteor su
  • 哪个更高效?更多核心或更多 CPU

    我意识到这更多的是一个硬件问题 但这也与软件非常相关 特别是在多线程多核 CPU 环境编程时 哪个更好 为什么 无论是效率 速度 生产力 可用性等 1 具有 4 个四核 CPU 的计算机 服务器 or 2 具有 16 个单核 CPU 的计算
  • 取消指纹扫描仪

    我正在开发一个具有安全功能 包括 PIN 和指纹 的程序 但现在我在输入密码 PIN 或指纹 时遇到问题 加入正确的指纹没问题 但是当我输入 PIN 码时 在退出 PIN 和指纹活动后 机器会继续侦听指纹 我知道这一点 因为当我单击 主页
  • Laravel 选项选择 - 默认问题

    这是我的选择框 所有公司都将加载到这里 但我想将特定公司显示为默认选择我在会议上有这个 这是我的代码 sessioncompany ABCcompany comp Company foreach company list as row en
  • 如何通过 HTML 输入标签获取文件的引用? (角度2)

    我想在 Firebase 中上传图片 但要做到这一点 我必须先获取文件 例如 如何通过 HTML 获取我的计算机的图像 我正在尝试这样做 但我不知道这样做的回报是什么 帮帮我吧伙计们
  • 为什么 t-sql 的 LEN() 函数忽略尾随空格?

    MSDN上LEN 函数的说明 http msdn microsoft com en us library ms190329 aspx 返回指定字符串表达式的字符数 排除尾随空格 为什么 LEN 函数设计成这样工作 这种行为解决了什么问题 有
  • Android素材L图像过渡插值器

    这更多的是一个数学问题而不是编程问题 好吧 我想问一下你知道Material design中描述的插值器是什么 它看起来是一个AccelerateDecelerateInterpolator但减速效果衰减较慢 我最好的孵化是 public
  • 通过 Google Drive API 获取共享链接

    我正在使用 Google Drive 开发一个应用程序 我希望用户能够通过链接共享文件 将权限设置为anyone and withLink如中所述谷歌开发者文档 https developers google com drive v2 re
  • .cpp 文件中的模板专业化 + .h 文件中的主模板声明

    根据https eel is c draft temp expl spec 7 https eel is c draft temp expl spec 7 如果模板 成员模板或类模板的成员被显式特化 则在每个翻译单元中 该特化的声明应可从该
  • 使用 VBA 在 Excel 2010 中查询表 (QueryTables) 使用 VBA 创建许多连接

    我正在跟踪在另一个网站上找到的代码 这是我的代码的基础知识 Dim SQL As String Dim connString As String connString ODBC DSN DB01 UID PWD Database MyDat
  • jQuery 日期选择器不适用于 ajax 生成的输入字段

    我有一个输入字段 它是通过 Ajax 从服务器端生成的 并插入到当前页面中 我的问题是 当通过 Ajax 生成输入字段时 jQuery 日期选择器无法在输入字段上工作 但当字段直接放置在页面中时它可以工作 下面 我提供了代码的缩小版本 HT
  • 设置文件名并在新选项卡中打开 blob pdf 类型[重复]

    这个问题在这里已经有答案了 我正在尝试在浏览器的新选项卡中打开 blob 字节流 它是有效的 但我不确定如何设置文件名 以便每个文档在下载时都有唯一的名称 现在 文档在保存时默认为 document pdf var blob new Blo
  • 通过访问限制列出的 Kubernetes 命名空间

    我有一套users dev team 谁只需要访问dev and qa命名空间 我创建了一个服务帐户 集群角色和集群角色绑定 如下所示 服务帐号 apiVersion v1 kind ServiceAccount metadata name
  • 从 Backbone 检索 Rails/devise current_user

    我有一个应用程序 可以通过 Devise 管理 Rails 的注册 输入 退出 当我登录时 我被重定向到 Backbone 启动的 Dashboard index 我想以某种方式在 Backbone 中检索我的 current user i
  • 如何在iPhone上读取RGB像素数据

    我想知道如何在iPhone上扫描图像并分析每个像素的RGB值 从而最终确定整个图像的平均RGB 如果有人能将我推向正确的方向 我将不胜感激 我是图像分析新手 不确定从哪里开始 或者 iOS 5 API 中是否包含类似的内容 只需粘贴它 我正
  • 检查 DataGridView 上的所有复选框项目

    这是场景 I have checkbox 名称 检查全部 ID chkItems 和datagridview 当我单击此复选框时 上的所有复选框datagridview也会被检查 我还在网格上添加了复选框列 DataGridViewChec
  • 需要了解Android中的uses-feature

    uses feature按以下方式使用
  • 可以将此处结果上的匹配替换为map_err和“?”

    我有一些代码看起来像这样 大大简化的版本 一个函数接受两个类型的函数参数LoadClient and CheckApproval并返回错误或字符串 pub struct Client pub id String pub enum MyErr
  • Json.NET 可以对流进行序列化/反序列化吗?

    我听说 Json NET 比 DataContractJsonSerializer 更快 并且想尝试一下 但我在 JsonConvert 上找不到任何采用流而不是字符串的方法 例如 为了在 WinPhone 上反序列化包含 JSON 的文件