gpt4 book ai didi

c# - 反序列化 JSON 时出错无法将 JSON 对象反序列化为类型 'System.String'

转载 作者:行者123 更新时间:2023-11-30 13:40:27 24 4
gpt4 key购买 nike

我有以下 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; }
}

关于c# - 反序列化 JSON 时出错无法将 JSON 对象反序列化为类型 'System.String',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com