我在尝试从PHP
读取C#
中的JObject
时收到此错误,这是基本查询"SELECT * FROM items"...
的结果
Unexpected character encountered while parsing value: S. Path '', line 0, position 0.
PHP
$query = ($_POST["test"]);
if ($result = $mysqli->query($query)
{
$jsonResult = json_encode($result);
}
echo $jsonResult;
C#
public JObject GetThat()
{
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
Stream Answer = WebResp.GetResponseStream();
string phpResponse = Answer.ToString();
JObject myResult = JObject.Parse(phpResponse);
return myResult;
}
我做错了什么?谢谢
问题是Answer.ToString()
不会将流内容作为字符串返回。试试这样的东西。
public JObject GetThat()
{
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
string phpResponse = string.Empty;
using(StreamReader rdr = new StreamReader(WebResp.GetResponseStream()))
phpResponse = rdr.ReadToEnd();
}
JObject myResult = JObject.Parse(phpResponse);
return myResult;
}
原来问题出在数组类型上。
$row = $result->fetch_array(MYSQLI_NUM);
不起作用,但
$row = $result->fetch_array(MYSQLI_BOTH);
和
$row = $result->fetch_array(MYSQLI_ASSOC);
做。有人知道为什么吗?谢谢