gpt4 book ai didi

c# - 在 C# restful web 服务中删除 xml 命名空间返回字符串

转载 作者:数据小太阳 更新时间:2023-10-29 01:48:31 27 4
gpt4 key购买 nike

我有一个使用 dot net 框架 4.5 用 C# 编写的 restful API。目前它工作正常......我在 JSON 转换后返回一个结果。我期待一个纯 JSON 结果......我目前没有得到..我期待简单的解决方案在我返回JSON的根元素处省略字符串XMLNS ...结果我正进入(状态: result

我的代码:

public String GetAllSalesInvoices(string customer_id, string Startdate, string Enddate)
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

string query = "SELECT * FROM sales_invoice WHERE customer_id =" + customer_id + " AND invoice_date BETWEEN '" + Startdate + "' AND '" + Enddate + "'";
DataSet ds = conObj.execQuery(query);
DataTable dt = new DataTable();
dt = ds.Tables[0];


List<sales_invoice> result = new List<sales_invoice>();

foreach (DataRow dr in dt.Rows)
{
sales_invoice inv = new sales_invoice()
{
Invoice_id = Convert.ToInt32(dr["invoice_id"]),
Invoice_date = Convert.ToString(dr["invoice_date"].ToString()),
Customer_id = Convert.ToInt32(dr["customer_id"]),
Product_id = Convert.ToInt32((dr["product_id"])),
Time = Convert.ToString((dr["time"]).ToString()),
Quantity = Convert.ToInt32((dr["quantity"])),
Unit_of_measure = Convert.ToString(dr["unit_of_measure"]),
Product_price = Convert.ToInt32((dr["product_price"])),
Sub_total = Convert.ToInt32((dr["sub_total"])),
};
result.Add(inv);
}
string json=serializer.Serialize(result);
return json;
}

谢谢

最佳答案

大家好,我终于想出了一个答案,即删除 xml 命名空间或字符串命名空间作为返回。解决方案是使用上下文方法并将内容直接写入浏览器本身。为此,您可以使用此代码。

String result =js.Serialize(data);
this.Context.Response.ContentType = "application/json; charset=utf-8";
this.Context.Response.Write(result);

这将在没有任何命名空间的情况下将 json 序列化的原始数据写入浏览器。请注意,它不能在 restful api 的上下文中使用,因为那里的 this 可能有所不同。

关于c# - 在 C# restful web 服务中删除 xml 命名空间返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47330096/

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