我有查询来选择数据:转换JSON格式为XML格式
Public Function GetStaffList(StaffCode As String) As IEnumerable
Dim query = (From c In Staff Where c.StaffID= StaffCode Select c)
Return query
End Function
使用下面的代码返回的JSON我后:
Public Function GetPersonListJson(PersonCode As String) As String
Return JsonConvert.SerializeObject(GetStaffList(StaffCode))
End Function
JSON格式如下:
"[{\"$id\":\"1\",\"PersonID\":10001.0,\"PersonName\":\"Staff1\"}]"
如果我想以XML格式返回,我该怎么办?由于
更新:我尝试使用下面的代码返回XML
Public Function GetPersonListJson(PersonCode As String) As String
Dim json = JsonConvert.SerializeObject(GetStaffList(StaffCode))
Dim rootJson = "{""root"":" & json & "}"
Dim xml = JsonConvert.DeserializeXNode(rootJson)
Return xml.ToString()
End Function
XML的调试过程中的值是:
<root xmlns:json="http://james.newtonking.com/projects/json" json:id="1"><PersonID>10001</PersonID><PersonName>Staff1</PersonName> <EntityKey json:id="2"><EntitySetName>tblPerson</EntitySetName><EntityContainerName>PersonEntities</EntityContainerName><EntityKeyValues><Key>PersonID</Key><Type>System.Decimal</Type><Value>10001</Value></EntityKeyValues></EntityKey></root>
后加入的ToString(),返回结果如下:
"\u000d\u000a \u000d\u000a 10001<\/PersonID>\u000d\u000a Staff1<\/PersonName>\u000d\u000a \u000d\u000a
但这不是xm l格式。请再次帮忙。谢谢
你的意思是我的代码应该是这样吗? JsonConvert.DeserializeXNode(JsonConvert.SerializeObject(GetStaffList(StaffCode)), “工作人员”)? –
@HowardHee是的,我的意思是我的代码中的'json'是'GetPersonListJson'方法的结果,这是您在评论中显示的内容。 –
Dim json = JsonConvert.SerializeObject(GetStaffList(StaffCode)) Dim xml = JsonConvert.DeserializeXNode(json,“Staff”) 返回xml我写下面的代码,但得到错误消息:“System.Xml.Linq.XDocument can not被转换为字符串“ –