C# 如何使用webrequest使用Json数组绘制线图

C# 如何使用webrequest使用Json数组绘制线图,c#,php,mysql,json,C#,Php,Mysql,Json,首先,我对C和Json非常陌生 我想在C GUI中从mysql表数据绘制一个图。我制作了一个PHP文件来从mysql数据库表中选择数据,并使用echo json_encodearrayresult=>$result在json数组中回显所选内容 以下是我的PHP: <?php define('HOST','*********************'); define('USER','*********************'); define('PASS','**************

首先,我对C和Json非常陌生

我想在C GUI中从mysql表数据绘制一个图。我制作了一个PHP文件来从mysql数据库表中选择数据,并使用echo json_encodearrayresult=>$result在json数组中回显所选内容

以下是我的PHP:

<?php
define('HOST','*********************');
define('USER','*********************');
define('PASS','*********************');
define('DB','***********************');

if($_SERVER['REQUEST_METHOD']=='GET'){

 $start = $_GET['start'];
 $ending  = $_GET['ending'];
}

$con = mysqli_connect(HOST,USER,PASS,DB);


$sql = "SELECT * FROM table WHERE date_time BETWEEN '$start' and '$ending'" ;
$res = mysqli_query($con,$sql);

$result = array();
while($row = mysqli_fetch_array($res)){
array_push($result,array('id'=>$row[0],'p_pairs'=>$row[1],'temp1'=>$row[2]  ,'temp2'=>$row[3],'temp3'=>$row[4],'temp4'=>$row[5],'temp5'=>$row[6],'avg_current'=>$row[7],'avg_voltage'=>$row[8],'kw'=>$row[9],'kwh'=>$row[10]));
}

echo json_encode(array($result));

mysqli_close($con);

?>
注意:此处某些日期时间设置为默认值。我只是想展示一下这个阵列。正确的将是完美的图形绘制

我可以使用来自C的web请求以字符串形式获取这些数组。使用下面的代码:

        System.Net.WebClient wc = new System.Net.WebClient();
        byte[] raw = wc.DownloadData("url to php");

        string webData = System.Text.Encoding.UTF8.GetString(raw);
这将是一个很大的帮助,如果有人能帮我把它绘制成一个折线图,如date_time Vs temp1,temp2或p_pairs,以及类似于在C GUI中

这对我将是一个很大的帮助。
提前感谢您。

首先请您上课。您可以从Json动态创建一个类

如果您愿意依赖System.Web.Helpers程序集,则可以使用Json类:

dynamic data = Json.Decode(json);
它包含在MVC框架中,作为.NET4框架的附加下载。或者使用NewtonSoft软件


接下来获取一个图表组件:并将数据绑定到图表

首先,您应该使用Newtonsoft的JSON.net将webData转换为可用的JSON对象。查阅一些关于这方面的教程。您想要生成什么?您是否正在尝试生成带有图形的jpg或png?或者这是为了在网站上展示?谢谢回复。我想在Winform UI中绘制它们。这是在反序列化并在表中寻源之后完成的。我现在的问题是,我有六个与上面提到的相同的表。我想把这个图,比如date_time vs temp1 table1,tamp1 table2,tamp1 table3,tamp1 table4,tamp1 table5,tamp1 table6绘制成线形图。所有的表都在同一个数据库中&结构都是相同的。听起来你只需要一个图形库。看一看。Infragistics、DevXpress和其他小部件制造商还有其他工具来创建图形。
dynamic data = Json.Decode(json);