首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取多维json数组的值

获取多维json数组的值
EN

Stack Overflow用户
提问于 2016-02-15 15:25:05
回答 3查看 988关注 0票数 0

我试图从json数组中获取两个变量的值。数组被发送到ajax,然后解码并“保存”到$jsonarray中。然后我尝试从数组中获取volumesymbol变量,并将它们插入到我的数据库中。我不明白这个$jsonarray->result->{"quote"}->symbol的语法,并且尝试过它如何正确,但是错误不会消失。

,那是我的数组:

代码语言:javascript
运行
复制
{"query":{"count":1,"created":"2016-02-15T15:11:47Z","lang":"de-DE","results":{"quote":{"symbol":"ZN","Ask":"2.05","Bid":"1.78","Volume":"13214","PercentChange":"+0.56%"}}}}

相关的php文章:

代码语言:javascript
运行
复制
$jsonString = $_POST['mydata'];
$jsonarray = json_decode($jsonString[0]['query']);
if ($stmt = $mysqli->prepare('INSERT INTO volume (stocksymbol, volume, time) VALUES ( ?, ?, now())')) {

    /* bind parameters for markers */
    $stmt->bind_param("si", $jsonarray->result->{"quote"}->symbol, $jsonarray->result->{"quote"}->Volume);

    /* execute query */
    $stmt->execute();

    /* close statement */
    $stmt->close();
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-15 15:53:01

你确定这一行是对的吗?$jsonarray = json_decode($jsonString[0]['query']);

在这种情况下,您应该通过:$jsonarray->query->results->...访问结果

票数 2
EN

Stack Overflow用户

发布于 2016-02-15 15:35:07

试着:

代码语言:javascript
运行
复制
/* bind parameters for markers */
    $stmt->bind_param("ss", $jsonarray->result->{"quote"}->symbol, $jsonarray->result->{"quote"}->Volume);
票数 2
EN

Stack Overflow用户

发布于 2016-02-16 04:30:21

您可以尝试将JSON解码为一个关联数组。假设$_POST['mydata']包含您向我们展示的JSON字符串,请尝试如下:

代码语言:javascript
运行
复制
$jsonString = $_POST['mydata']; 
$jsonarray = json_decode($jsonString, TRUE);

这样,您可以以更一致的方式访问这些值:

代码语言:javascript
运行
复制
$stmt->bind_param(
     "si", 
     $jsonarray['query']['results']['quote']['symbol'], 
     $jsonarray['query']['results']['quote']['Volume']
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35413046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档