C# 我需要序列化json文件,其中包含xml
我有JSON,我需要反序列化它。JSON文件中包含XML。有什么建议吗C# 我需要序列化json文件,其中包含xml,c#,.net,json,xml,asp.net-core,C#,.net,Json,Xml,Asp.net Core,我有JSON,我需要反序列化它。JSON文件中包含XML。有什么建议吗 {"nt":0,"r":true,"o":[{"test":"20fgfgdfgdfAZ20AIgdg151","fddf":"ZregrIPgdffgfSgfg","d":"<DataPDU xmlns="urn:cma:stp:xsd:stp.1.0"> <Body> </AppHdr> <Document xmlns="urn:iso:"> .....
{"nt":0,"r":true,"o":[{"test":"20fgfgdfgdfAZ20AIgdg151","fddf":"ZregrIPgdffgfSgfg","d":"<DataPDU xmlns="urn:cma:stp:xsd:stp.1.0">
<Body>
</AppHdr>
<Document xmlns="urn:iso:">
.....
</Document></Body>
</DataPDU>"}]}
{“nt”:0,“r”:true,“o”:[{“test”:“20FGDFGDFAZ20AIGDG151”,“fddf”:“ZregrIPgdffgfSgfg”,“d”:
.....
"}]}
您的JSON字符串似乎无效。您在o[0].d
或XML部分中有未被替换的引号。我已经提供了一个带有转义引号的JSON版本
{
"nt": 0,
"r": true,
"o": [
{
"test": "20fgfgdfgdfAZ20AIgdg151",
"fddf": "ZregrIPgdffgfSgfg",
"d": "<DataPDU xmlns=\"urn:cma:stp:xsd:stp.1.0\"><Body></<Document xmlns=\"urn:iso:\"> ..... </Document></Body></DataPDU>"
}
]
}
可以找到有关使用
System.Text.Json
命名空间的文档。您的Json字符串似乎无效。您在o[0].d
或XML部分中有未被替换的引号。我已经提供了一个带有转义引号的JSON版本
{
"nt": 0,
"r": true,
"o": [
{
"test": "20fgfgdfgdfAZ20AIgdg151",
"fddf": "ZregrIPgdffgfSgfg",
"d": "<DataPDU xmlns=\"urn:cma:stp:xsd:stp.1.0\"><Body></<Document xmlns=\"urn:iso:\"> ..... </Document></Body></DataPDU>"
}
]
}
可以找到有关使用System.Text.Json
命名空间的文档
请注意,xml中的“
必须更改为\”
,字符串中的,理解代码将不起作用
使用System.Text.Json;
公共myJson()
{
字符串json=“”;
Rootobject jsonObject=JsonConvert.DeserializeObject(json);
}
公共类根对象
{
公共int nt{get;set;}
公共布尔r{get;set;}
公共O[]O{get;set;}
}
公共O类
{
公共字符串测试{get;set;}
公共字符串fddf{get;set;}
公共字符串d{get;set;}
}
请注意,xml中的“
必须更改为\”
,字符串中的,理解代码将不起作用
使用System.Text.Json;
公共myJson()
{
字符串json=“”;
Rootobject jsonObject=JsonConvert.DeserializeObject(json);
}
公共类根对象
{
公共int nt{get;set;}
公共布尔r{get;set;}
公共O[]O{get;set;}
}
公共O类
{
公共字符串测试{get;set;}
公共字符串fddf{get;set;}
公共字符串d{get;set;}
}
xml基本上都是一个字符串。您是否尝试过先对Json进行反序列化,然后作为第二步分别对XML进行反序列化?我尝试过对一个对象进行反序列化,但它抛出了一个例外,这将有助于向我们展示您所做的尝试以及确切的错误,以便能够提供更好的答案:)我尝试创建一个模型来反序列化Json。但每次XML结构发生变化时,这种XML文件结构都会不同。这是我的问题)当我尝试使用JSON2C之类的在线转换器创建对象时,它表示JSON语法无效xml基本上都是字符串。您是否尝试过先对Json进行反序列化,然后作为第二步分别对XML进行反序列化?我尝试过对一个对象进行反序列化,但它抛出了一个例外,这将有助于向我们展示您所做的尝试以及确切的错误,以便能够提供更好的答案:)我尝试创建一个模型来反序列化Json。但每次XML结构发生变化时,这种XML文件结构都会不同。这是我的问题)当我尝试使用在线转换器创建对象,如JSON2C时,它说无效的JSON syntaxI不能使用string.Replace()方法更改为\。你能提出一些建议吗?是的。有一种方法可以做到这一点,但当或多或少会有一个白空间时,它不会正常运行。有没有办法用string.replace()方法将那些“我不能更改”替换为\?你能提出一些建议吗?是的。有一种方法可以做到这一点,但当有或多或少的空白时,它不会正常运行。有没有办法替换那些
using System.Text.Json;
public myJson()
{
string json = "<json>";
Rootobject jsonObject = JsonConvert.DeserializeObject<Rootobject>(json);
}
public class Rootobject
{
public int nt { get; set; }
public bool r { get; set; }
public O[] o { get; set; }
}
public class O
{
public string test { get; set; }
public string fddf { get; set; }
public string d { get; set; }
}