Tôi đã viết một dịch vụ web đơn giản mà có được danh sách sản phẩm trong JSONText đó là chuỗi đối tượng đang ServiceASP.NET JSON Web Service đáp ứng định dạng
Web dưới
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
/// <summary>
/// Summary description for JsonWebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class JsonWebService : System.Web.Services.WebService
{
public JsonWebService() {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetProductsJson(string prefix)
{
List<Product> products = new List<Product>();
if (prefix.Trim().Equals(string.Empty, StringComparison.OrdinalIgnoreCase))
{
products = ProductFacade.GetAllProducts();
}
else
{
products = ProductFacade.GetProducts(prefix);
}
//yourobject is your actula object (may be collection) you want to serialize to json
DataContractJsonSerializer serializer = new DataContractJsonSerializer(products.GetType());
//create a memory stream
MemoryStream ms = new MemoryStream();
//serialize the object to memory stream
serializer.WriteObject(ms, products);
//convert the serizlized object to string
string jsonString = Encoding.Default.GetString(ms.ToArray());
//close the memory stream
ms.Close();
return jsonString;
}
}
bây giờ nó cho tôi resoponse như bên dưới:
{"d": "[{\" ProductID \ ": 1, \" Tên sản phẩm \ ": \" Sản phẩm 1 \ "}, {\" ProductID \ ": 2, \" ProductName \ ": \" Sản phẩm 2 \ "}, {\" ProductID \ ": 3, \" Tên sản phẩm \ ": \" Sản phẩm 3 \ "}, {\" ProductID \ ": 4, \" Tên sản phẩm \ ": \ "Sản phẩm 4 \"}, {\ "ProductID \": 5, \ "ProductName \": \ "Sản phẩm 5 \"}, {\ "ProductID \": 6, \ "Tên sản phẩm \": \ "Sản phẩm 6 \"}, {\ "ProductID \ ": 7, \" Tên sản phẩm \ ": \" Sản phẩm 7 \ "}, {\" ProductID \ ": 8, \" Tên sản phẩm \ ": \" Sản phẩm 8 \ "}, {\" ProductID \ ": 9 , \ "Tên sản phẩm \": \ "Sản phẩm 9 \"}, {\ "ProductID \": 10, \ "Tên sản phẩm \": \ "Sản phẩm 10 \"}] "}
Nhưng tôi đang tìm bên dưới ra đặt
[{"ProductID": 1, "ProductName": "Sản phẩm 1"}, {"ProductID": 2, "ProductName": "Sản phẩm 2"}, {"ProductID": 3, "ProductName": "Sản phẩm 3"}, {"ProductID": 4, "ProductName": "Sản phẩm 4"}, {"ProductID": 5, "ProductName": "Sản phẩm 5"}, {"ProductID": 6 , "ProductName": "Sản phẩm 6"}, {"ProductID": 7, "ProductName": "Sản phẩm 7"}, {"ProductID": 8, "ProductName": "Sản phẩm 8"}, {"ProductID": 9, "Tên sản phẩm": "P roduct 9 "}, {" ProductID ": 10," ProductName ":" Sản phẩm 10" }]
có thể bất kỳ một cho tôi biết vấn đề thực tế là những gì
Cảm ơn
Cảm ơn ewrankin vì bạn đã trả lời loại nhưng vấn đề của tôi là tôi phải đi với asp.net 2.0 framework vì vậy bạn vui lòng đề nghị tôi làm thế nào tôi có thể đạt được điều này. xin vui lòng nếu bạn có bất kỳ lựa chọn nào khác ngoài xin vui lòng cho tôi biết – Hiscal
Tôi xin lỗi tôi đoán tôi không hiểu nhận xét của bạn. Bạn có muốn đi đến ASP.NET 2.0? Bởi vì dựa trên phản hồi JSON bạn đang nhận, bạn đang sử dụng ASP.NET 3.5 vì "d" bổ sung đang được thêm vào. Hay bạn đang hỏi cách làm việc với "d" trong câu trả lời bạn nhận được. – ewrankin
Tôi đã làm việc với đề xuất của bạn nhưng vẫn cung cấp cho tôi cùng đặt với không mong muốn '\' và không cho tôi kết quả như {"d": "[{" ProductID ": 1," ProductName ":" Product 1 " }, {"ProductID": 2, "ProductName": "Sản phẩm 2"}, {"ProductID": 3, "ProductName": "Sản phẩm 3"}, {"ProductID": 4, "ProductName": "Sản phẩm 4 "}, {" ProductID ": 5," ProductName ":" Sản phẩm 5 "}, {" ProductID ": 6," ProductName ":" Sản phẩm 6 "}, {" ProductID ": 7," ProductName ":" Sản phẩm 7 "}, {" ProductID ": 8," ProductName ":" Sản phẩm 8 "}, {" ProductID ": 9," ProductName ":" Sản phẩm 9 "}, {" ProductID ": 10," ProductName ":" Sản phẩm 10 "}]"} – Hiscal