У меня есть простая кнопка, которая запускает скрипт для извлечения данных из 40 таблиц, внутри php они закодированы в JSON.Извлечение нескольких объектов JSON в C#
$stmt = $pdo->prepare("SELECT* FROM form");
$stmt->execute();
$results=$stmt->fetchAll(PDO::FETCH_ASSOC);
$form=$results;
$stmt = $pdo->prepare("SELECT * FROM applicant");
$stmt->execute();
$results=$stmt->fetchAll(PDO::FETCH_ASSOC);
$applicant=$results;
print json_encode(array($form,$applicant));
Я не использую select * просто для удобства чтения. это отображается как массив, но когда im вытягивает массив в C#, это делается как строка, как передать массив с php на C#?
WebClient wc = new WebClient();
var json = wc.DownloadString("http://localhost/returnData.php");
List<Applicant> app = JsonConvert.DeserializeObject<List<Applicant>>(json);
List <form> form = JsonConvert.DeserializeObject<List<form>>(json);
dataGrid.ItemsSource = form;
dataGrid2.ItemsSource = app;
Идея 1 Это может быть плохой практикой, но может я запустить сценарий для каждой таблицы, а затем просто возвращать каждый объект JSON по отдельности, я знаю, что это будет работать, но будет ли это исполнение тяжелой и придется создать несколько сценариев.
[{"id":"1","name_id":"0","first":"advert","last":"","address":"","postcode":"2","date_created":"2016-08-09 15:50:12"},{"id":"2","name_id":"0","first":"advert","last":"","address":"","postcode":"2","date_created":"2016-08-09 16:25:04"}]
Идея 2 я мог бы создать один сценарий, но вернуть все с сепаратором. например, print $form."^".$app;
, затем разделите их на массив в C#?
Idea 3 Я бы в идеале хотел бы передать массив json массивов в C#.
РНР не имеет HTML-разметку, но не могли бы вы мне точку в правильном направлении для отдыха поскольку я не хочу вызывать данные на C# только по соображениям безопасности. – Bish25
также мое возвращение JSON без ключа, могу ли я отделить значения с помощью ключа? – Bish25
Можете ли вы опубликовать вывод 'var json'? – Rahul