gpt4 book ai didi

c# - 验证文件后错误无效的 json 原语

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:20 26 4
gpt4 key购买 nike

我尝试使用 javascriptserializer 反序列化我的 json,但收到错误“无效的 json 原语”

其他帖子提到要验证 json,我也这样做了。

JavaScriptSerializer sr = new JavaScriptSerializer();
dynamic jsonObject = sr.DeserializeObject(@"TableReloadStatus.json");
jsonObject.SchemaName = "Test";
var modifiedJsonString = sr.Serialize(jsonObject);

我的JSON:

[{
"Tables":[
{
"ServerName": "win-3hog2kbe0g2",
"TaskName": "tskMovieDemoUAT2",
"SchemaName": "MOVIEDEMO",
"TableName": "MOVIE_FACT_HDFS_EXT_TAB",
"DateReload": "01/25/2019"
},
{
"ServerName": "win-3hog2kbe0g2",
"TaskName": "tskMovieDemoUAT",
"SchemaName": "MOVIEDEMO",
"TableName": "MOVIE_FACT_HDFS_EXT_TAB",
"DateReload": "01/24/2019"
}
]
}]

最佳答案

有一个 JSON 数组包含 Tables另一个 JSON 数组不是对象,因此您可以尝试使用它。

JavaScriptSerializer sr = new JavaScriptSerializer();
dynamic jsonObject = sr.DeserializeObject(@"TableReloadStatus.json");
jsonObject[0].Tables[0].SchemaName = "Test";

我推荐json.net图书馆。

我会使用类模型来携带该 JSON,而不是使用 dynamic

JsonConvert.DeserializeObject<T>

public class Table
{
public string ServerName { get; set; }
public string TaskName { get; set; }
public string SchemaName { get; set; }
public string TableName { get; set; }
public string DateReload { get; set; }
}

public class RootObject
{
public List<Table> Tables { get; set; }
}

然后使用会像。

string jsonData = File.ReadAllText(@"TableReloadStatus.json");
var jsonObject = JsonConvert.DeserializeObject<List<RootObject>>(jsonData);

c# online

关于c# - 验证文件后错误无效的 json 原语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54360276/

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