C# PHP Web服务返回混合数据我如何在c中使用它#

C# PHP Web服务返回混合数据我如何在c中使用它#,c#,php,web-services,C#,Php,Web Services,我有php中的web服务,其中包含应该返回的方法(login) 错误或关联数组 我试图在c#中使用它,但c#一直告诉我必须使用object来处理返回的数据,我就是这么做的,但我无法解析任何数据 这是对代码的一瞥 object user; user = Chat.login(txtUsername.Text,txtPassword.Text); if (user.Equals(false)) { Messag

我有php中的web服务,其中包含应该返回的方法(login) 错误或关联数组

我试图在c#中使用它,但c#一直告诉我必须使用object来处理返回的数据,我就是这么做的,但我无法解析任何数据

这是对代码的一瞥

        object user;
        user = Chat.login(txtUsername.Text,txtPassword.Text);

        if (user.Equals(false))
        {
            MessageBox.Show("Error !");
        }
        else {
           //i wanna here for example show user['name'] for example
        }
如果用户输入了错误的数据,并且数据在系统中,上述代码可以正常工作 它返回混合数据(用户数据数组)
但是我不能使用它

您应该重写Web服务,使其返回一个对象,而不是两种不同的类型。在JSON中,它应该看起来像

{"status": "SUCCEDED", "result": [1,2,3,4]} // valid login
{"status": "FAILED"} // valid login
然后,您可以检查状态是否为“成功”

另一种方法是返回数组。成功返回关联数组。失败时返回一个空的数组。这允许您检查阵列的长度以确定是否成功

[1,2,3,4] // valid login
[] // valid login

这个例子是JSON。无论如何,您都可以将其转换为XML。最重要的是你应该有这个想法。

你应该重写Web服务,让它返回一个对象,而不是两种不同的类型。在JSON中,它应该看起来像

{"status": "SUCCEDED", "result": [1,2,3,4]} // valid login
{"status": "FAILED"} // valid login
然后,您可以检查状态是否为“成功”

另一种方法是返回数组。成功返回关联数组。失败时返回一个空的数组。这允许您检查阵列的长度以确定是否成功

[1,2,3,4] // valid login
[] // valid login


这个例子是JSON。无论如何,您都可以将其转换为XML。最重要的是,您应该已经有了这个想法。

PHP服务以什么格式返回什么类型的数据?JSON?请显示您试图解析的原始输出。当登录成功时,启动调试器并将鼠标悬停在
用户上。它是什么类型的?您知道webservice返回xml数据听起来像是您自己实现了php webservice,在这种情况下,您应该返回固定类型或null,而不是false。(我认为c#将处理/理解null)。@BobDavies我使用zend web服务工具,它可以很好地处理所有其他非数组的数据类型?PHP服务返回的数据类型是什么格式?JSON?请显示您试图解析的原始输出。当登录成功时,启动调试器并将鼠标悬停在
用户上。它是什么类型的?您知道webservice返回xml数据听起来像是您自己实现了php webservice,在这种情况下,您应该返回固定类型或null,而不是false。(我认为c#将处理/理解null)。@BobDavies我使用zend web服务工具,它可以很好地处理所有其他非数组的数据类型?问题是我想解析这个对象以从中提取数据,正如您现在提到的,它返回这个{“id”:“4”,“u#u名称”:“samymassoud”,“u#u密码”:“47dffd4ae5531f11cc791a0748ef2f3edc4aea93”,“u电子邮件”:"samymassoud@gmail.com“,”u_mobile“:”111111“,”u_blocknumber“:”1249“,”处于活动状态“:”1“,”u_type“:”1“,”u_date“:”2011-08-05“,”u_time“:”1312567660“,”last_time“:”11:07 AM“,”last_date“:”2012-07-06”,“project“:”0“,”last_login:”}我想在c中处理这个问题,我该怎么办?@SamyMassoud您可以使用JSON.NET解析JSON。请参阅(此问题的唯一答案)[谢谢你,我根据你的答案找到了一个解决方案,所以我会将其标记为最佳答案:D但我正在排除故障另一件事是预期将保持活动的连接已被服务器关闭,我将搜索它,如果找不到答案,我将在此处发布,因此如果有任何建议,请不要尝试回答我,谢谢问题是我想解析这个对象以从中提取数据,正如您现在提到的,它返回这个{“id”:“4”,“u_名称”:“samymassoud”,“u_密码”:“47DFFD4AE5531F11C791A0748EF2F3EDC4AEA93”,“u电子邮件”:samymassoud@gmail.com“,“u_移动”:“111111”,“u_区块编号”:“1249”,“u_活动”:“1”,“u_类型”:“1”,“u_日期”:“2011-08-05”,“u_时间”:“1312567660”,“last_time:“11:07 AM”,“last_date:“2012-07-06”,“project:“0”,“last_login:”}我想用c#怎么办?@SamyMassoud您可以使用JSON.NET解析JSON。请参阅(这个问题的唯一答案)[谢谢,我根据您的答案找到了一个解决方案,所以我会将其标记为最佳答案:D但我正在排除故障另一件事是,预期将保持活动的连接已被服务器关闭,我将搜索它,如果找不到答案,我将在此处发布,因此如果有任何建议,请不要回答我,谢谢