简体   繁体   English

将以下python代码转换为C#

[英]Convert the following python code to C#

I'm converting some python scripts to C#, and cannot get a web request to work.我正在将一些 python 脚本转换为 C#,但无法使 Web 请求工作。 The python code is:蟒蛇代码是:

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)

Can anyone convert this to C#?任何人都可以将其转换为 C# 吗? It's the "payload" variable I'm having trouble with - what's the C# equivalent?这是我遇到问题的“有效负载”变量 - C# 等价物是什么? Thanks in advance提前致谢

Edit - here's the C# code I have so far:编辑 - 这是我到目前为止的 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;

One of way of doing this in C# is to create an anonymous object , which you then serialize:在 C# 中执行此操作的一种方法是创建一个匿名对象,然后将其序列化:

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

var json = JsonConvert.SerializeObject(payload);

Result:结果:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM