求解,C#写的webService,连接数据库返回是xml,怎么转换成json?

qq_20475619 2017-11-08 09:14:27
现在需要用c#写一个webService,已经可以连接数据库进行操作了,但是返回的值是xml类型的,如下:

<?xml version="1.0" encoding="utf-8" ?>
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<string>001</string>
<string>id001</string>
<string>yiyiyi</string>
<string>nan</string>
<string>002</string>
<string>id002</string>
<string>ererer</string>
<string>nan</string>
<string>003</string>
<string>id003</string>
<string>san</string>
<string>nv</string>
</ArrayOfString>


而需要的返回结果是如下的json格式:

[
{
"barcode": 10000110001,
"patient_id": "PT00001",
"patient_name ": "张三",
"sex": "男",
"age": "38",
"id_card": "422222198810010001",
"nationality": "汉族",
"group_code": "ZXG0001",
"group_name":"生化3",
"sample_time": " 2017-2-27 16:26:05",
"sample_person": "王某",
"sample_address": "分店名称或者科室名称",
"apply_doctor": "张某",
"from_org_code": " 100001",
"from_org_name": "健康管理中心"
},{
"barcode": 10000110002,
"patient_id": "PT00002",
"patient_name ": "李四",
"sex": "女",
"age": "28",
"id_card": "422222198810010001",
"nationality": "汉族",
"group_code": "ZXG0002",
"group_name":"生化5",
"sample_time": " 2017-2-27 16:26:05",
"sample_person": "王某",
"sample_address": "分店名称或者科室名称",
"apply_doctor": "张某",
"from_org_code": " 100001",
"from_org_name": "健康管理中心"
}
]


我使用的是DataReader,代码如下:

// List<string> AppListRecord = new List<string>();
while (sqlReader.Read()){
AppListRecord.Add(sqlReader[0].ToString());
AppListRecord.Add(sqlReader[1].ToString());
AppListRecord.Add(sqlReader[2].ToString());
}

return AppListRecord;


所以我觉得我现在是有两个问题:
1.怎么将xml转化成json;
2,怎么将表的列名,用引号括起来拼接到前面。

求指导,谢谢
...全文
364 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接用webapi不就行了?跟ws比起来也差不多没啥难度
正怒月神 2017-11-08
  • 打赏
  • 举报
回复
如果可以的话,建议选择webapi来返回json。webservice对于json的支持,先天不足。他就是返回xml的。 但如果无法更改,那你参考http://blog.csdn.net/hougelou/article/details/70649559?locationNum=4&fps=1 至于xml转json的问题,有点荒唐。 因为你从数据库拿取数据,无论是 对象还是datatable。通过json.net都可以直接转成json直接返回。
k. 2017-11-08
  • 打赏
  • 举报
回复
你是想服务端,读数据库,然后返回一个json串?

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧