1

我有一个小问题。我开发了 ac# 文件,它接受请求对象中的数据。Request 对象包含一个字符串,然后我对该字符串执行各种操作,但问题是我需要从 PHP 文件调用这个 aspx 文件。

这就是我在 ASPX 文件中接受数据的方式

protected void Page_Load(object sender, EventArgs e)
    {
        try{
            byte[] byteArray;

            byteArray = Request.BinaryRead(Request.TotalBytes);

               // This bytes array to string method perfectly converts the request data into string.
            string xmlString = Utility.Utility.ByteArrayToString(byteArray);

现在,如果我从 PHP 文件传递​​ JSON 字符串,那么请指导我该怎么做

4

1 回答 1

1

如果它是 JSON 字符串,那么您可以使用 JSON 序列化程序来将此字符串反序列化为一个类。例如,您可以使用内置JavaScriptserializer类或Json.NET.

假设 PHP 文件将以下 JSON 发送到 POST 请求的正文:

{"foo":"bar","baz":123}

现在您可以定义一个与此 JSON 结构匹配的相应模型:

public class MyModel
{
    public string Foo { get; set; }
    public int Baz { get; set; }
}

然后从请求中读取 JSON 有效负载并使用序列化程序将其反序列化回您的模型:

protected void Page_Load(object sender, EventArgs e)
{
    using (var reader = new StreamReader(Request.InputStream))
    {
        string json = reader.ReadToEnd();
        var serializer = new JavaScriptSerializer();
        MyModel model = serializer.Deserialize<MyModel>(json);
        // you could use the model here
    }
}
于 2013-01-04T12:40:33.270 回答