我有一個簡單的按鈕,它運行一個腳本以從40個表中提取數據,在php內部這些以JSON編碼。在C中檢索多個JSON對象
$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 *它只是爲了方便閱讀。這顯示罰款作爲一個數組,但是當我拉數組到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;
想法一 這可能是不好的做法,但可能我運行一個腳本爲每個表,然後就返回每個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#中的數組?我想理想地將json數組數組傳遞給c#。
的PHP有沒有HTML標記的一類,但你可以點我在正確的方向爲REST因爲我不想在C#中調用數據,只是出於安全原因。 – Bish25
也是我的JSON返回一個鍵,我可以使用一個鍵分隔值嗎? – Bish25
你可以發佈'var json'的輸出嗎? – Rahul