【发布时间】:2019-09-09 09:54:02
【问题描述】:
在以下代码中传递 jsondata 的正确语法是什么-
我正在创建一个登录页面,该页面将读取电子邮件、用户输入的密码条目,并在单击按钮时将 json 数据传递给 rest api
var myemail = email.Text;
var mypwd = password.Text;
string jsonData = @"{""email"" : myemail, ""password"" : mypwd}"; ///SYNTAX ERROR HERE
var content = new StringContent(jsonData,Encoding.UTF8,"application/json");
var myHttpClient = new HttpClient();
var response = await myHttpClient.PostAsync(URL, content);
var json = await response.Content.ReadAsStringAsync();
await DisplayAlert(null, json, "Ok");
【问题讨论】:
-
var content = new StringContent(jsonData,Encoding.UTF8,application/json"); 你可能忘记了这里的引用,“application/json”
-
我在“jsonData”有错误。我的实际输入字段没有被传递
-
Syntax error表示代码错误,与 JSON 或 REST 无关。您发布的代码不会引发任何错误。它包含硬编码值,而不是任何电子邮件或密码。实际代码和实际编译器错误是什么? -
在任何情况下,您都不能在没有引用的情况下以 JSON 格式传递文本数据,这意味着 eamil 和密码 值 需要引号。如果您使用原始输入,任何包含双引号的输入都将导致无效的字符串,并可能将您的应用程序暴露给黑客攻击。 easy 转义输入的方法是使用适当的 JSON 序列化程序,而不是自己构造字符串