javascript - PHP字符串转json数组

标签 javascript php jquery json

所以基本上我正在发出 cURL 请求并获得如下所示的响应 (var_dump):

string(595) "{"user_id":1,"currency":"eur","purchase_packs":{"1":{"amount":500,"allowed_payment_methods":["ideal","paypal","visa","mc"]},"3":{"amount":1000,"allowed_payment_methods":["mc","ideal","paypal","visa"]},"6":{"amount":2500,"allowed_payment_methods":["mc","ideal","paypal"]},"8":{"amount":5000,"allowed_payment_methods":["ideal"]},"9":{"amount":10000,"allowed_payment_methods":["ideal"]}},"payment_methods":{"ideal":{"name":"ideal","allow_recurring":false},"paypal":{"name":"paypal","allow_recurring":false},"visa":{"name":"visa","allow_recurring":false},"mc":{"name":"mc","allow_recurring":false}}}"

我想要的是像这样在JS文件中访问它:

success: function (data) {
    alert(data.user_id);
}

但我不知道如何正确转换(?)它。

我的下一步(问题)是我是否可以为每个购买的包做一个 for 循环,这样我就可以为每个包创建按钮

大概是这样的:

var pack;
var packs = data.purchase_packs;
for (pack= 0; pack < packs.length; pack++) {
    console.log(packs[pack]);
}

最佳答案

我试图理解你的“问题”......

在 js 中:

$.post('/some/url',{query: 'somequery'},
function (data) {
    try {
        data = JSON.parse(data);
    } catch (e) {
        return false;
    }
    console.log(data);
});

在 PHP 中:

data = json_decode(rtrim($myJSONEncodedString, "\0"));
if (!empty($data->purchase_packs)
    foreach ($data->purchase_packs as $key => $value)
        var_dump($value);

关于javascript - PHP字符串转json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20496373/

相关文章:

php - 无法使用 PDO 连接到 MS SQL Server

php - 根据符号获取货币代码

javascript - 访问react-chartjs饼图的一部分

javascript - 如何从自定义 react 钩子(Hook)丰富数据

javascript - 在 Django 中使用 Pandas 转换为 JSON

安全远程服务器上的 php LDAP 绑定(bind) Windows 失败

jquery - slideDown() 效果问题

javascript - 正则表达式 - 仅匹配字符一次 - 然后忽略

javascript - Jquery,当屏幕宽度为 1050px 时删除类

只要第一个元素相等,Javascript 数组就返回相等