@ludie
Существует несколько способов передачи JSON из C# в Python, но один из самых простых – это использовать HTTP-запросы и API.
Пример:
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 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#-код.