[英]How do i convert a JSON string to a native C# array using a namespace compatible with Windows Store Apps?
我正在尝试制作一个Windows 8商店应用程序,它将来自PHP数据库的MySQL数据库的结果作为REST服务。
我正在寻找PHP来返回一个字符串数组的JSON表示,并且当Javascript和PHP之间相同时,我已经很愉快地完成了。 我需要使用相同的JSON字符串并在我的C#Windows 8商店App中使用它,有没有办法获取该PHP页面的返回并将其转换为普通的C#数组,而不是字典或更复杂的集合。
数据库确实有四个字段,所以如果我必须使用一个特殊的对象,我会,但我宁愿我没有,因为这个功能不需要那么多的数据。
PHP页面是这样的 - $ search_text通过GET传入:
$databaseConnection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($databaseConnection->connect_error)
{
echo "Database connection failed: $databaseConnection->connect_error";
}
else
{
$search_text = $search_text."%";
$query = "SELECT DISTINCT street FROM gritroutes WHERE street LIKE ? LIMIT 5";
$statement = $databaseConnection->prepare($query);
$statement->bind_param('s', $search_text);
$statement->execute();
$statement->store_result();
$statement->bind_result($street);
$autonumber = 1;
while ($statement->fetch())
{
$resultarr[] = $street;
}
$statement->close();
echo json_encode($resultarr);
}
只是为了清楚。 我正在编写一个Windows应用商店应用程序,System.Web命名空间不可用,因此我无法使用JavaScriptSerializer。
看一下JavaScriptSerializer类。
string myJson = "{blablabla I'm json}";
var serializer = new JavaScriptSerializer();
var myStrings = serializer.Deserialize<List<string>>(myJson);
foreach (var str in myString)
{
Console.WriteLine(str);
}
您还可以使用本机Windows.Data.Json
类来进行解析:
string json = @"[""item1"", ""item2"", ""item3""]";
var array = JsonArray.Parse(json).Select(i => i.GetString()).ToArray();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.