如何设置JSON对象以结果开始.. Net MySQL JSON Restful Webservice
本文关键字:JSON 开始 结果 Net MySQL Webservice Restful 对象 何设置 设置 | 更新日期: 2023-09-27 18:05:03
我遵循这个创建Restful Web服务,显示JSON作为MySQL数据库的输出。
我成功地做到了,但这里我有将近100个表在数据库中不同的名称
for get Data I am Using this:
ServiceContract]
public interface IService1
{
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "getAllCustomers")]
List<wsCustomer> GetAllCustomers();
和this:
public class Service1 : IService1
{
public List<wsCustomer> GetAllCustomers()
{
NorthwindDataContext dc = new NorthwindDataContext();
List<wsCustomer> results = new List<wsCustomer>();
foreach (Customer cust in dc.Customers)
{
results.Add(new wsCustomer() {
CustomerID = cust.CustomerID,
CompanyName = cust.CompanyName,
City = cust.City
});
}
return results;
}
我得到这样的数据输出:
{
"CustomerResult": [
{
"CustomerID ": "12124",
"CompanyName ": "http://www.google.com",
"City ": "xyz"
}
]
}
但这里的问题列表为每一个结果我得到表名结果就像我有另一个表
{
"UserResult": [
{
"UserID ": "12124",
"CompanyName ": "http://www.google.com",
"City ": "xyz"
}
]
}
所以这里不是CustomerResult或UserResult我希望它是Result
是否有办法将它显示为所有表的结果?
Please Suggest Me.
您可以使用类似map的结构来实现这一点。我对。net不太确定,但是在java中我们是这样做的:
Map<String,Object> resultMap = new HashMap<String,Object>();
resultMap.put("result","customerList");
resultMap.put("status","success");
也可以使用Map。根据我的理解,在你的情况下,它是返回表名作为关键,因为你的方法是直接返回列表。json格式需要一个键
我已经尝试在JAVA使用地图,
public List<wsCustomer> GetAllCustomers()
{
NorthwindDataContext dc = new NorthwindDataContext();
List<wsCustomer> results = new List<wsCustomer>();
foreach (Customer cust in dc.Customers)
{
results.Add(new wsCustomer() {
CustomerID = cust.CustomerID,
CompanyName = cust.CompanyName,
City = cust.City
});
}
Map<String,List<wsCustomer>> resultMap = new HashMap<String,List<wsCustomer>>();
resultMap.put("result",results);
return resultMap;
}