我正试图在Windows Phone中使用C#进行多部分调用。 我发送完全相同的json工作的android调用,但从wp我得到这个响应体:
“errorNumber”:90 - JSONObject文本必须以“}
的字符0处的”{“开头我发送的第一个字符是{。
为什么会这样?
这是我的代码:
public async Task postHttpClient(string serviceUrl, string requestObj)
{
Debug.WriteLine("postHttpClient");
try
{
var client = new HttpClient();
client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "multipart/form-data");
Debug.WriteLine("requestObj: " + requestObj);
Debug.WriteLine("curly brace should be expected: " + (int)requestObj.Trim().ElementAt(0));
MultipartFormDataContent content = new MultipartFormDataContent();
var contentData = new StringContent(requestObj.Trim());
content.Add(contentData);
var responseVar = await client.PostAsync(serviceUrl, content);
responseVar.EnsureSuccessStatusCode();
Debug.WriteLine("responseVar: " + responseVar.ToString());
var body = await responseVar.Content.ReadAsStringAsync();
Debug.WriteLine("body: " + body);
}
catch (Exception e)
{
Debug.WriteLine("e: " + e.ToString());
}
}
和我的小提琴手:
原始标题
POST / MyServer / SendActivity / HTTP / 1.1 接受: / 内容长度:703 Accept-Encoding:身份 内容类型:multipart / form-data;边界= “e8763d7d-a53d-4BAA-a6c7-c3bc37bd52a6” 用户代理:NativeHost 主持人:merp.techmobile.eu:8080 连接:保持活力 Pragma:no-cache
Textview标签
- e8763d7d-a53d-4BAA-a6c7-c3bc37bd52a6 内容类型:text / plain;字符集= utf-8的 内容处理:表单数据
{ “SendActivityRequest”:{ “活性”:{...
答案 0 :(得分:0)
通过在我的json中添加一个键,
可以帮助别人知道我修复了它通过更改此行:content.Add(contentData);
这个content.Add(contentData, "request");