我使用的是一个API,它提供JSON格式的数据。我正在尝试将JSON响应存储在MySQL数据库中(原样(
然后以JSON格式从数据库中重新获取。你可能想知道我为什么这么做,好吧,我使用的是一个付费的API,它的请求数量有限。为了防止多次API调用,我想通过我的服务器提供API响应(所以基本上应用程序用户会轮询我的服务器以获取JSON响应,而不是直接调用API(
所以我创建了一个名为";matchinfo";并且有一个名为";jsondata";其具有一种类型的LONGTEXT
$json_response = file_get_contents("api_url"); // storing json format response
$update_data = "UPDATE matchinfo SET jsondata = '$json_response'"; // Succesfully stored it
$update_query = mysqli_query($conn,$update_data);
// how can I again fetch it in the JSON format
我想你的问题是"如何使用mysqli提取数据;。
//connection
$mysqli = new mysqli("localhost", "user", "pass", "database");
//obtaining the jsondata.
$result = $mysqli->query("SELECT jsondata FROM matchinfo");
$row = $result->fetch_array(MYSQLI_ASSOC);
//The data is like file_get_contents("api_url");
$json_response = $row['jsondata']; //json string
//If you want to use data as array.
$json = json_decode($json_response, true); //array
我想你要找的是函数"json_decode";。
你可以这样使用:
$databaseValue = '{"field": "value"}'; // Example, this represents your string you have stored in your database
$fetchedJson = json_decode($databaseValue, true); // JSON Value
您需要json_decode内部的true,因为您希望函数的结果是一个json数组。如果你在那里放了一个false,函数的结果将是一个对象。
您可以在php文档中阅读更多关于它的信息。