这是我自制的序列化课程:
public class JsonBuilder
{
private StringBuilder json;
public JsonBuilder()
{
json = new StringBuilder();
}
public JsonBuilder AddObjectType(string className)
{
json.Append("\"" + className + "\": {");
return this;
}
public JsonBuilder Add(string key, string val)
{
json.AppendFormat("\"{0}\":\"{1}\",", key, val);
return this;
}
public JsonBuilder Add(string key, int val)
{
json.AppendFormat("\"{0}\":{1},", key, val);
return this;
}
public string Serialize()
{
return json.ToString().TrimEnd(new char[] { ',' }) + "}";
}
}
这是网络方法
[WebMethod]
public static string GetPersonInfo(string pFirstName, string pLastName)
{
var json = new JsonBuilder().AddObjectType("Person");
json.Add("FirstName", "Psuedo" + pFirstName).Add("LastName", "Tally-" + pLastName);
json.Add("Address", "5035 Macleay Rd SE").Add("City", "Salem");
json.Add("State", "Oregon").Add("ZipCode", "97317").Add("Age", 99);
return json.Serialize();
}
Ajax调用客户端
$.ajax(
{
type: "POST",
url: "Default.aspx/GetPersonInfo",
data: JSON.stringify(name),
contentType: "application/json; charset=uft-8",
dataType: "json",
success: function (rsp) { SetPerson(rsp); },
error: function (rsp)
{
alert(rsp);
}
});
最后,我的回调方法
function SetPerson(rsp)
{
$('#fName').val(rsp.d.FirstName);
$('#lName').val(rsp.d.LastName);
$('#address').val(rsp.d.Address);
$('#city').val(rsp.d.City);
$('#state').val(rsp.d.State);
$('#zip').val(rsp.d.ZipCode);
SetPerson(rsp.d.Age);
}
rsp.d是包含所有属性的字符串…属性本身是未定义的。我知道我在这里缺少一些简单的东西。
从服务器返回的字符串
"Person": {"FirstName":"Psuedomatt","LastName":"Tally-cox","Address":"5035 Macleay Rd SE","City":"Salem","State":"Oregon","ZipCode":"97317","Age":99}
您不应该手动序列化返回值。ASP.NET将为您做到这一点。尝试这样的事情:
[WebMethod]
public static Person GetPersonInfo(string pFirstName, string pLastName)
{
// Assuming you have a server-side Person class.
Person p = new Person();
p.FirstName = "Pseudo" + pFirstName;
p.LastName = "Tally-" + pLastName;
p.Address = "5035 Macleay Rd SE";
p.City = "Salem";
p.State = "Oregon";
p.ZipCode = "97317";
// ASP.NET will automatically JSON serialize this, if you call it with
// the correct client-side form (which you appear to be doing).
return p;
}
如果您需要返回更动态的内容(例如您的示例似乎正在做的事情),则可以使用匿名类型:
[WebMethod]
public static object GetPersonInfo(string pFirstName, string pLastName)
{
// ASP.NET will automatically JSON serialize this as well.
return new {
FirstName = "Pseudo" + pFirstName,
LastName = "Tally-" + pLastName,
Address = "5035 Macleay Rd SE",
City = "Salem",
State = "Oregon",
ZipCode = "97317"
}
}
Spring WebFlux的新手,尝试在一个endpoint中返回字符串数组,出于某种原因,它返回了JSON数组的一个串联字符串istead。 用一些类包装它可以解决问题,但想知道如何实际返回字符串数组?返回例如数组
问题内容: 我想我已经找到了错误所在: 我进行调试,得到以下结果(我输入了555和欧元): 因此看来,用于解码JSON对象的PHP函数在某处做错了。有什么帮助吗? 问题答案: Google给您的响应不是有效的JSON,因为未引用标签。您必须自己解析。 输出:
以下endpoint以字符串形式返回用户名。 我如何构造它以返回一个json对象,该对象包含一个键,该键的值为该字符串(例如,{“user”:“joeuser”})?
我在处理我的第一个烧瓶Web应用程序时遇到了此错误。在这个应用程序中,我试图通过使用Uber H3和haversine公式来获得两点之间的距离。我是这方面的初学者,所以任何帮助将不胜感激。 类型错误:视图函数未返回有效响应。返回类型必须是字符串、字典、元组、响应实例或 WSGI 可调用,但它是一个 int。
我正在使用flask和MongoDB创建和启动AWS EC2实例,并为不同用户记录这些实例。但当我试图调用我编写的用于检索文档的函数时,会返回以下错误: TypeError:视图函数没有返回有效的响应。返回类型必须是字符串、字典、元组、响应实例或WSGI callable,但它是一个协程。 追溯: 我的数据库代码是: 我从调用的函数是: 我不确定这些数据是否足以解决这个错误,但是任何帮助都将不胜感
问题内容: 例如我有一个功能: 我怎样才能返回AJAX后得到的? 问题答案: 因为请求是异步的,所以您无法返回ajax请求的结果(而同步ajax请求是一个 糟糕的 主意)。 最好的选择是将自己的回调传递给f1 然后,您将像这样致电: