首页 > 解决方案 > 将以下python代码转换为C#

问题描述

我正在将一些 python 脚本转换为 C#,但无法让 Web 请求正常工作。蟒蛇代码是:

import json
import requests
import os

REST_URL = 'http://machinename:1234/webservicename'

payload = {'clientMessage': {
           "UserName": "fred",
           "MessageText": "message"
           }
       }
headers = {'content-type': 'application/json'}
res = requests.post(REST_URL, json.dumps(payload), headers=headers)

任何人都可以将其转换为 C# 吗?这是我遇到问题的“有效负载”变量 - C# 等效项是什么?提前致谢

编辑 - 这是我到目前为止的 C# 代码:

HttpClient client = new HttpClient();
var serializer = new JavaScriptSerializer();

string payload = "{ 'clientMessage': { \"UserName\": fred, \"MessageText\": message } }";

string jsonDumps = serializer.Serialize(payload);
var content = new StringContent(jsonDumps, Encoding.UTF8, @"application/json");
var postResult = client.PostAsync(_restUrl, content).Result;

标签: c#python

解决方案


在 C# 中执行此操作的一种方法是创建一个匿名对象,然后将其序列化:

var payload = new
{
    clientmessage = new
    {
        UserName = "fred",
        MessageText = "message"
    }
};

var json = JsonConvert.SerializeObject(payload);

结果:

{ "clientmessage": { "UserName": "fred", "MessageText": "message" } }


推荐阅读