如何将字符串转换为JSON对象在.NET中?

18 浏览
0 Comments

如何将字符串转换为JSON对象在.NET中?

我对编码完全不了解,请原谅我对通过YouTube视频学习的这段代码做出的任何愚蠢的假设。我正在通过REST API查询Salesforce,并将响应转换为字符串。第一部分:我想以漂亮的JSON格式打印它,第二部分:将JSON数据存储到一个对象中。

我还没有尝试过任何方法,但我正在查看该论坛上的一些先前的答案。

        HttpClient apiCallClient = new HttpClient();
        String restCallURL = serviceUrl + "/services/data/v45.0/query?q=SELECT+Id,PAL_ID__c+FROM+Account";
        HttpRequestMessage apirequest = new HttpRequestMessage(HttpMethod.Get, restCallURL);
        apirequest.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        apirequest.Headers.Add("authorization","Bearer " + authToken);
        HttpResponseMessage apiCallResponse = await apiCallClient.SendAsync(apirequest);
        String requestresponse = await apiCallResponse.Content.ReadAsStringAsync();
        Console.WriteLine(requestresponse);
        Console_textBox.AppendText(requestresponse);

只需在控制台上以漂亮的JSON格式打印,并将数据存储在一个对象中。

0
0 Comments

问题的原因是需要将字符串转换为JSON对象,并且在.NET中进行操作。解决方法是创建一个包含Salesforce响应的简单类,并使用JsonConvert.DeserializeObject方法进行反序列化。

首先,我们可以创建一个简单的类来保存Salesforce响应,如下所示:

public class SalesforceListResponse
{
    [JsonProperty("totalSize")]
    public string TotalSize { get; set; }
    [JsonProperty("done")]
    public bool Done { get; set; }
    [JsonProperty("nextRecordsUrl")]
    public string NextRecordsUrl { get; set; }
    [JsonProperty("records")]
    public T[] Records { get; set; }
}

接下来,我们可以创建一个简单的类来保存账户信息:

public class Account
{
    public string Id { get; set; }
    public string PAL_ID__c { get; set; }
    // 其他属性...
}

然后,我们可以使用JsonConvert.DeserializeObject方法进行反序列化:

var salesforceResponse = JsonConvert.DeserializeObject>(requestResponse);

通过以上步骤,我们可以将字符串转换为JSON对象,并且在.NET中进行进一步的操作。

0