在Xamarin中发布Json字符串

时间:2018-11-21 00:36:48

标签: c# json xamarin xamarin.ios

在我的应用中,我以这种方式将json字符串发布到服务器:

string url = "my/url";
        HttpClient newClient = new HttpClient();

        string contentType = "application/json";
        JObject json = new JObject
        {
            { "id", "id" },
            { "apiKey", "apiKey" },
            { "EncryptedData", Data }
        };

        var jon = JsonConvert.SerializeObject(json);
        var content = new StringContent(jon, Encoding.UTF8, contentType);
        var TaskPostAsync = await newClient.PostAsync(url, content);


        if (TaskPostAsync.IsSuccessStatusCode)
        {
            var contentString = await TaskPostAsync.Content.ReadAsStringAsync();}

我得到的答复是它不是Json格式。我要去哪里错了。任何帮助将非常感激。 数据是一个字符串。

1 个答案:

答案 0 :(得分:1)

通过致电

dicty[key] += value

您要序列化两次。

*=已经是JSON,因此您所要做的就是调用 var jon = JsonConvert.SerializeObject(json); 以获取JSON

JObject

引用Write JSON text with JToken.ToString

另一种选择是使用匿名对象,然后对其进行序列化

.ToString