PHP数组转换为C#字符串

3
在我的应用程序中,C# 应用程序向 PHP 服务器发送请求。该应用程序通过 POST 发送作者名称的详细信息。我希望 PHP 应用程序查询数据库并返回作者详细信息的数组。
        String result = "";
        string url = LINK_TO_SITE;
        using (WebClient client = new WebClient())
        {
            NameValueCollection postData = new NameValueCollection()
            {
                {"Author", Properties.Settings.Default.Author}               

            };
            result = Encoding.UTF8.GetString(client.UploadValues(url, postData));
            MessageBox.Show(result);

php

    $author=$_POST["author"];   
    $stmt = $mysqli->stmt_init();
    $stmt = $mysqli->prepare("SELECT name, date, code FROM Collab where Members=?");    
    $stmt->bind_param('s', $author);
    $stmt->execute();       
    $stmt->bind_result($name,$date, $code);

我可以成功获取细节信息。接下来,我该如何将数据放入一个数组中,以便发送回C#?
基本上...我怎样才能让PHP数组在C#中正常工作?

1
尝试使用 json_encode 对数组进行编码,然后使用 #c 中的 JSON 解析器类将 JSON 解析为数组。 - Dom
你能否提供一个结果字符串的示例?我不熟悉 PHP。 - Robert J.
1个回答

3

有很多方法可以实现这个,取决于你希望如何发送它。最简单的方法是在C#中使用分隔符,例如“;”,然后在php中

$authors = explode(";", $_POST["author"]);  

你也可以使用XML或JSON,preg_match()取决于你。在发送之前,你可以对其进行格式化。


你好, 感谢您的回答,数组是由PHP发送的,并且已经被我的应用程序成功接收。我的代码: "String[] jsonObject = JsonReader.Deserialize<String[]>(result);" 然而,在C#中它说我缺少JSONReader。我已经找了一圈,但还没有找到它的副本。您能否为我提供一个链接或替代代码? - user1662290
看这里:https://dev59.com/GHA75IYBdhLWcg3wuLnD 这段代码可以让你在运行时像在JavaScript中一样处理JSON。 - Cameron Tinker
很不幸,那似乎完全不起作用。 看来我也缺少支持库。以下似乎在我的系统中缺失 using System.Dynamic; using System.Web.Script.Serialization; - user1662290
这个怎么通过 XML 实现呢?我也查看了一些相关资料,但没有找到确切的方法。 - user1662290
嗨,最终我成功解决了我的问题。感谢您的支持。 - user1662290

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接