Как передать json из c# в python?

Пользователь

от ludie , в категории: Python , 3 месяца назад

Как передать json из c# в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от violette_robel , 3 месяца назад

@ludie 

Существует несколько способов передачи JSON из C# в Python, но один из самых простых – это использовать HTTP-запросы и API.


Пример:

  1. Написать код на языке C# для создания JSON-объекта и отправки его по HTTP.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System.Net.Http;
using System.Net.Http.Headers;
using Newtonsoft.Json;

public void SendJson()
{
    var json = "{"name": "John", "age": 30}";
    using (var client = new HttpClient())
    {
        client.BaseAddress = new Uri("http://localhost:5000/"); // Адрес Python API
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        var content = new StringContent(json, Encoding.UTF8, "application/json");

        var response = client.PostAsync("api/data", content).Result;
        if (response.IsSuccessStatusCode)
        {
            var responseString = response.Content.ReadAsStringAsync().Result;
            Console.WriteLine("Response: " + responseString);
        }
    }
}


  1. Написать код на языке Python, чтобы принять JSON-объект от C#.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from flask import Flask, request

app = Flask(__name__)

@app.route('/api/data', methods=['POST'])
def process_data():
    data = request.json
    name = data['name']
    age = data['age']
    # Обработка данных и отправка ответа в JSON-формате
    return {'status': 'OK'}

if __name__ == '__main__':
    app.run(port=5000)


В этом примере мы объявляем Flask-приложение и создаем маршрут '/api/data', чтобы принимать запросы POST с JSON-объектом в теле запроса. Мы извлекаем данные из JSON-объекта и можем выполнить какую-то обработку, а затем отправить ответ в формате JSON обратно в C#-код.