Я написал одну простую веб-службу, получить список продуктов в JSONText который строковый объектASP.NET Web Service JSON ответ формат
Web Сервис-код ниже
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;
}
}
теперь дайте мне resoponse как показано ниже:
{"d": "[{\" ProductID \ ": 1, \" ProductName \ ": \" Product 1 \ "}, {\" ProductID \ ": 2, \" ProductName \ ": \" Продукт 2 \ "}, {\" ProductID \ ": 3, \" ProductName \ ": \" Продукт 3 \ "}, {\" ProductID \ ": 4, \" ProductName \ ": \ «Продукт 4 \»}, {\ "ProductID \": 5, \ "ProductName \": \ "Продукт 5 \"}, {\ "ProductID \": 6, \ ProductName \ ": Продукт 6 \"}, {\ "ProductID \ ": 7, \" ProductName \ ": \" Продукт 7 \ "}, {\" ProductID \ ": 8, \" ProductName \ ": \" Продукт 8 \ "}, {\" ProductID \ ": 9 , \ "ProductName \": \ "Продукт 9 \"}, {\ "ProductID \": 10, \ "ProductName \": \ "Продукт 10 \"}] "}
Но я ищу
[{«ProductID»: 1, «ProductName»: «Product 1»}, {«ProductID»: 2, «ProductName»: «Product 2»}, {«ProductID»: 3, «ProductName»: «Продукт 3»}, {«ProductID»: 4, «ProductName»: «Продукт 4»}, {«ProductID»: 5, «ProductName»: «Продукт 5»}, {«ProductID»: 6 , «ProductName»: «Продукт 6»}, {«ProductID»: 7, «ProductName»: «Продукт 7»}, {«ProductID»: 8, «ProductName»: «Продукт 8»}, {«ProductID»: 9, "ProductName": "Р Roduct 9 "}, {" ProductID ": 10," ProductName ":" 10" Продукт}]
может любой сказать мне, что является актуальной проблемой
Благодаря
Спасибо ewrankin за вас добрый ответ , но моя проблема в том, что мне нужно перейти с рамки asp.net 2.0, так что, пожалуйста, предложите мне, как я могу это достичь. пожалуйста, если у вас есть другой вариант, чем рассказать мне – Hiscal
Прошу прощения, я думаю, что я не понимаю вашего комментария. Вы хотите перейти на ASP.NET 2.0? Поскольку на основе ответа JSON, который вы получаете, вы используете ASP.NET 3.5 из-за добавленного дополнительного «d». Или вы спрашиваете, как работать с «d» в ответе, который вы получаете. – ewrankin
У меня есть работа с вашим предложением, но все же он дает мне то же самое, что и с нежелательным «\», и не дает мне вывод, как {"d": "[{" ProductID ": 1," ProductName ":" Product 1 " }, {«ProductID»: 2, «ProductName»: «Продукт 2»}, {«ProductID»: 3, «ProductName»: «Продукт 3»}, {«ProductID»: 4, «ProductName»: «Продукт 4 "}, {" ProductID ": 5,« ProductName »:« Продукт 5 »}, {« ProductID »: 6,« ProductName »:« Продукт 6 »}, {« ProductID »: 7,« ProductName »:« Продукт 7 "}, {« ProductID »: 8,« ProductName »:« Продукт 8 »}, {« ProductID »: 9,« ProductName »:« Продукт 9 »}, {« ProductID »: 10,« ProductName »: Продукт 10 "}]"} – Hiscal