2013-04-30 2 views
3

В моем приложении resquest отправляется на сервер PHP из приложения C#. Приложение отправляет детали имени автора через POST. Я хочу, чтобы приложение PHP запрос к базе данных и возвращения, в идеале, массив деталей авторов:PHP Array to C# String

C#

 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); 

Я могу retrive детали мелкие. Теперь, как я буду помещать данные в массив, который можно отправить обратно на C#?

Итак, в основном ... Как получить массив PHP для работы на C#?

+1

Попробуйте кодировать массив с помощью 'json_encode', а затем используя класс JSON-парсера в #c, проанализируйте JSON в массиве. – Dom

+0

Не могли бы вы привести пример того, как выглядит ваша строка результатов? Я не знаком с php –

ответ

3

Существует много способов сделать это, так как это зависит от того, как вы хотите его отправить. Самый простой способ - использовать разделительный символ в C#, например ";" а затем в PHP

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

вы можете также использовать XML или JSON, preg_match() это до вас. Вы можете отформатировать его перед отправкой.

+0

Привет, Спасибо за ваш ответ, и массив отправлен PHP и успешно получен моим приложением. Мой код: "String [] jsonObject = JsonReader.Deserialize (result);" Однако, он говорит, что я пропускаю JSONReader в C#. Я огляделся, но еще не нашел его. можете ли вы предоставить мне ссылку или альтернативный код? – user1662290

+0

Взгляните здесь: http://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object Этот код позволяет работать с JSON, как и в JavaScript во время выполнения. –

+0

К сожалению, это не работает вообще. Кажется, мне тоже не хватает вспомогательных библиотек. В моей системе отсутствует система, использующая System.Dynamic; с использованием System.Web.Script.Serialization; – user1662290