我正在使用LINQ to SQL在C#/ ASP.net中创建WebService Json Parser。
它工作正常,但我的JSON以这种方式返回:
<string>[{"cli_id":1,"nome":"Joe"},{"cli_id":2,"nome":"Gary"},{"cli_id":3,"nome":"Ash"},{"cli_id":4,"nome":"Pedro"},{"cli_id":5,"nome":"Marcos"}]</string>
我将在Android应用程序中使用此JSON,但是当json页面以“{”开头而不是[。
时,许多代码都能正常工作如何在开头插入{?
我正在尝试这段代码:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService {
public WebService () {}
DataClassesDataContext dados = new DataClassesDataContext();
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public string getCustomers() {
var json = "";
var clientes = from result in dados.clientes select result;
JavaScriptSerializer jss = new JavaScriptSerializer();
json = jss.Serialize(clientes);
return json;
}
}
答案 0 :(得分:3)
如何在开头插入{?
你不想。您想要正确使用它:作为对象的数组。
你没有展示你的Android代码消费它,但该代码应该期望顶级是一个数组,而不是一个对象。
我的意思是,你可以这样做:
return "{\"clientes\": " + json + "}";
...所以你的顶级是一个具有单个属性clientes
的对象,带有一组客户端,但是没有理由;您输出的内容是有效的,只需要正确使用即可。