chat-gpt’s diary

ChatGPTでAIと会話した結果を残してます。

下記JSON文字列をC#で表してください。

{"id":"chatcmpl-72BPzAVa3EwUhcyUdpoOdn9ZXy4bR","object":"chat.completion","created":1680754903,"model":"gpt-3.5-turbo-0301","usage":{"prompt_tokens":43,"completion_tokens":295,"total_tokens":338},"choices":[{"message":{"role":"assistant","content":"#「あ」とは\n\n「あ」とは、日本語の五十音のうちの第一音である。平仮名としては「あ」、片仮名としては「ア」と表記される。また、「あ」は、感嘆や驚きなどを表す間投詞としても用いられることがある。\n\n「あ」は、口を大きく開けて、のどや口蓋を張り上げて発音する。日本語の母音の中でも最も発音が楽であるため、日本語学習者の初心者でも比較的容易に発音ができる。\n\nいろいろな単語の中で、「あ」音が含まれるものも多い。たとえば、「あいさつ」や「あかちゃん」、「あさごはん」などがある。また、「アメリカ」や「アジア」、「アフリカ」などの地名にも、「あ」音が含まれることが多い。\n\n以上、「あ」について説明した。"},"finish_reason":"stop","index":0}]}

以下がC#でのJSON表現になります。

using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;

public class ChatCompletion
{
    [JsonPropertyName("id")]
    public string Id { get; set; }

    [JsonPropertyName("object")]
    public string Object { get; set; }

    [JsonPropertyName("created")]
    public long Created { get; set; }

    [JsonPropertyName("model")]
    public string Model { get; set; }

    [JsonPropertyName("usage")]
    public Usage Usage { get; set; }

    [JsonPropertyName("choices")]
    public List<Choice> Choices { get; set; }
}

public class Usage
{
    [JsonPropertyName("prompt_tokens")]
    public int PromptTokens { get; set; }

    [JsonPropertyName("completion_tokens")]
    public int CompletionTokens { get; set; }

    [JsonPropertyName("total_tokens")]
    public int TotalTokens { get; set; }
}

public class Choice
{
    [JsonPropertyName("message")]
    public Message Message { get; set; }

    [JsonPropertyName("finish_reason")]
    public string FinishReason { get; set; }

    [JsonPropertyName("index")]
    public int Index { get; set; }
}

public class Message
{
    [JsonPropertyName("role")]
    public string Role { get; set; }

    [JsonPropertyName("content")]
    public string Content { get; set; }
}

// パース例
var jsonString = "{\"id\":\"chatcmpl-72BPzAVa3EwUhcyUdpoOdn9ZXy4bR\",\"object\":\"chat.completion\",\"created\":1680754903,\"model\":\"gpt-3.5-turbo-0301\",\"usage\":{\"prompt_tokens\":43,\"completion_tokens\":295,\"total_tokens\":338},\"choices\":[{\"message\":{\"role\":\"assistant\",\"content\":\"#「あ」とは\\n\\n「あ」とは、日本語の五十音のうちの第一音である。平仮名としては「あ」、片仮名としては「ア」と表記される。また、「あ」は、感嘆や驚きなどを表す間投詞としても用いられることがある。\\n\\n「あ」は、口を大きく開けて、のどや口蓋を張り上げて発音する。日本語の母音の中でも最も発音が楽であるため、日本語学習者の初心者でも比較的容易に発音ができる。\\n\\nいろいろな単語の中で、「あ」音が含まれるものも多い。たとえば、「あいさつ」や「あかちゃん」、「あさごはん」などがある。また、「アメリカ」や「アジア」、「アフリカ」などの地名にも、「あ」音が含まれることが多い。\\n\\n以上、「あ」について説明した。\"},\"finish_reason\":\"stop\",\"index\":0}]}"
var chatCompletion = JsonSerializer.Deserialize<ChatCompletion>(jsonString);