反序列化 JSON 时出错无法将 JSON 对象反序列化为“System.String”类型

2024-02-03

我有以下 JSON:

{"workspace": {
  "name":"Dallas",
   "dataStores":"http://.....:8080/geoserver/rest/workspaces/Dallas/datastores.json",
   "coverageStores":"http://.....:8080/geoserver/rest/workspaces/Dallas/coveragestores.json",
   "wmsStores":"http://....:8080/geoserver/rest/workspaces/Dallas/wmsstores.json"}}

我正在尝试在此类中反序列化:

 class objSON {
        public string workspace { get; set; }
        public string name { get; set; }
        public string dataStores { get; set; }
        public string coverageStores { get; set; }
        public string wmsStores { get; set; }}

 objWS_JSON deserContWS = JsonConvert.DeserializeObject<objWS_JSON>(data);
           var coberturas = deserContWS.coverageStores;
           var almacenesDatos = deserContWS.dataStores;
           var almacenesWMS = deserContWS.wmsStores;
           var nombre = deserContWS.name;

我收到以下错误:

无法将 JSON 对象反序列化为“System.String”类型。

有任何想法吗?谢谢


您的 json 对于您提供的类结构不正确。 json 暗示 name、dataStores、coverageStores 和 wmsSTores 是工作区类的子级。我认为你想要的类结构是这样的:

public class workspace
{
    public string name { get; set; }
    public string dataStores { get; set;}
    public string coverageStores { get; set;}
    public string wmsStores {get; set;}
}

public class objSON
{
    public workspace workspace {get; set;}
}

尝试一下,如果该数据结构不是您想要的,那么您需要更改您的 json.

好的,我刚刚在示例应用程序中尝试过,似乎工作正常。这是我使用的代码:

    class Program
    {
            static void Main(string[] args)
            {

               string str = @"{""workspace"": {
                  ""name"":""Dallas"",
                  ""dataStores"":""http://.....:8080/geoserver/rest/workspaces/Dallas/datastores.json"",
                  ""coverageStores"":""http://.....:8080/geoserver/rest/workspaces/Dallas/coveragestores.json      "",
                  ""wmsStores"":""http://....:8080/geoserver/rest/workspaces/Dallas/wmsstores.json""}}";

                 var obj = JsonConvert.DeserializeObject<objSON>(str);

    }

}

public class workspace
{
    public string name { get; set; }
    public string dataStores { get; set; }
    public string coverageStores { get; set; }
    public string wmsStores { get; set; }
}

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

反序列化 JSON 时出错无法将 JSON 对象反序列化为“System.String”类型 的相关文章

随机推荐

  • 为什么编译器除以 2 时会右移 31 位?

    我已经反汇编了编译器生成的代码 我发现它生成了以下指令序列 mov eax edx shr eax 1Fh add eax edx sar eax 1 这段代码的目的是什么 我知道 sar eax 1 除以 2 但是什么 shr eax 1
  • 在 Visual Studio IDE 中查看与类关联的控件列表

    我用的是VS的表单设计器 我放置了一个label on my form 然后删除它的文本 目前 我无法找到该标签 如何查看与给定类关联的控件列表 查看 gt 其他窗口 gt 文档大纲
  • 使用 ajax 请求中的 JSON 响应更新 JQuery 进度条

    All 我有一个 AJAX 请求 它向服务器发出 JSON 请求 以获取同步状态 JSON 请求和响应如下 我想显示 JQuery UI 进度条并根据 getStatus JSON 响应中返回的百分比更新进度条状态 如果状态为 insync
  • SQLite CASE/WHEN 语句

    这是我的 CASE WHEN 声明 但正如你所看到的 我收到了这个错误 我不知道为什么 我想做的就是检测 MAJKA 字段中的某些内容何时发生更改 因此 如果 MAJKA 列的某些其他字段为空 请不要触摸它们 而是将值更改为 MAJKA 列
  • 从哈希数组中收集值

    我有以下格式的数据结构 data hash price 1 count 3 price 2 count 3 price 3 count 3 有没有一种有效的方法来获取值 price作为一个数组 1 2 3 首先 如果您使用 ruby arr
  • Laravel 5.4 中的混合/版本图像?

    我想对一组图像使用混合 首先我复制它们 mix copy resources images public images 然后版本 mix version 上面的内容对图像没有任何作用 我也尝试过指定路径 mix version public
  • 在 android.webkit.CookieManager 中存储会话 cookie

    我使用 Volley 库来执行我的应用程序的请求 现在我确实需要按照以下顺序执行一些操作 使用 Volley 库的 POST 请求 我收到带有会话 cookie 的 204 响应 我需要将该 cookie 设置为与 WebView 一起使用
  • 如果使用回形针 gem on Rails 没有上传图片,如何设置默认图片?

    下面是我的代码 class Profile lt ActiveRecord Base belongs to user validates first name presence true validates last name presen
  • 使 git diff 正确显示 UTF8 编码的字符

    我有一个文件 其中包含使用 UTF8 编码的瑞典语字符 If I cat文件显示正常 但如果我这样做git diff特殊字符被打印 例如 Example git diff output name Magler
  • 如何在单个域上为 React app + Express 设置 k8s 入口?

    我有一个使用 React 构建的前端应用程序和在 Nodejs 上构建的后端应用程序 两者都有一个单独的 Docker 镜像 因此在 k8s gce 上有一个单独的部署 每个部署都有对应的k8s服务 比方说fe serice and be
  • 验证嵌套形式中子对象的唯一性无法正常工作

    我对 Rails 中的范围唯一性验证有疑问 如果我尝试直接在子模型中创建具有不想重复的同一组属性的新对象 则效果很好 但是当我尝试创建具有两个不唯一的子对象的父对象时 验证没有被触发 背景 我有一个 Rails 3 2 中的应用程序 其视图
  • 连接3个表并检索所有表中的所有记录

    我正在连接三个表 执行完整的外部连接 以便可以从所有表中检索所有记录 我面临的问题是我加入表的顺序 表格信息 替代文本 http img235 imageshack us img235 7980 tableinfoow1 png http
  • 更改 csv 中的列顺序(python)

    我制作了一个脚本 它读取给定的输入文件 csv 以某种方式操作数据并写入输出文件 csv 就我而言 我给定的输入文件如下所示 sku article name 1 MyArticle 对于我的输出文件 我需要重新排列这些列 还有更多 但我认
  • PHP的password_hash函数值对于每个字符串都不相同

    我尝试使用散列用户密码密码哈希 PHP函数 但是 它的函数是工作散列 而不是常量 第四次测试结果 1 2y 12 SRmipqM7AsYkx3Xc8QGHNex69rGXeVyWGTYrh9T8sh1cP3UrdjfQi 2 2y 12 z
  • 我需要带有称重选项的随机算法

    我的 NET 项目中有一个要求 我需要从集合中选择一个项目 每个项目都有一个分配给它的权重 1 到 10 之间的整数 我需要一个随机生成器来考虑这个权重 即权重越高 选择对象的机会就越大 快速复制 粘贴 C 代码 以防有人偶然发现这一点 c
  • Google Appengine Ndb GQL 查询最大限制是多少?

    我正在环顾四周 以便得到答案 从 Google AppEngine 上的 Ndb 上的 GQL 查询中可以得到的最大结果限制是多少 我正在使用带有游标的实现 但如果我一次检索它们将会快得多 这取决于很多因素 例如实体的大小以及需要在索引中查
  • 同步语句中的wait()、notify()和notifyAll()

    尝试调用时出现以下错误notifyAll 在同步语句中 在同步上下文之外调用 Object notify 例子 final List list new ArrayList synchronized list invoked notifyAl
  • 是否有适用于 IE6 和 7 的 W3C 兼容 hack?

    IE6 和 7 中是否有有效的 W3C 兼容性破解方法 我相信使用 hack 时存在 W3C 不兼容性 例如 使用以下 CSS 代码 如本文选项 2 中的建议 http webdesignerwall com tutorials css s
  • 使用 Jest 和 React 测试库测试 `img.onLoad`/`img.onError`

    今天下午 我们的团队在使用 Jest 为我们的项目编写 React 测试库 RTL 测试时遇到了一个场景
  • 反序列化 JSON 时出错无法将 JSON 对象反序列化为“System.String”类型

    我有以下 JSON workspace name Dallas dataStores http 8080 geoserver rest workspaces Dallas datastores json coverageStores htt