【问题标题】:How to create this type json in codeigniter?如何在codeigniter中创建这种类型的json?
【发布时间】:2016-08-12 09:48:34
【问题描述】:
variations=[
{"property_id":504, "value":"8", "is_available":true, "price": 100},
{"property_id":504, "value":"12", "is_available":true, "price": 105},
{"property_id":513, "value":"Pepperoni", "is_available":true},
{"property_id":513, "value":"Mushrooms", "is_available":true}
]&diameter_scale=341&custom_property_names={"513":"Topping"}

如何将我的数组转换成这种类型的json

$insert_variation_data = array(
    'property_id'   => $_POST["property_id"][$ix],
    'value'         => $_POST["values"][$ix],
    'is_available'  => true,
    'scale'         => $_POST["scale"][$ix],
    'price'         => $_POST["price"][$ix]  
);

我有数组,然后它是如何在上述变化中隐藏的,但我认为上面提到的 json 无效,但我想要相同的转换

【问题讨论】:

  • variations=[ {"property_id":504, "value":"8", "is_available":true, "price": 100 "diameter_scale":341,}, {"property_id": 504,“价值”:“12”,“is_available”:真,“价格”:105,“直径”:341},]
  • 还是报错?

标签: php json codeigniter


【解决方案1】:

试试这个,创建一个多维数组。

 $insert_variation_data = array(
           array(
                'property_id'   => $_POST["property_id"][$ix],
                'value'         => $_POST["values"][$ix],
                'is_available'  => true,
                'scale'         => $_POST["scale"][$ix],
                'price'         => $_POST["price"][$ix]  
            )
);

echo json_decode($insert_variation_data);

【讨论】:

  • variations=[ {"property_id":504, "value":"8", "is_available":true, "price": 100}, {"property_id":504, "value": "12", "is_available":true, "price": 105}, {"property_id":513, "value":"Pepperoni", "is_available":true}, {"property_id":513, "value": "蘑菇", "is_available":true} ]&diameter_scale=341&custom_property_names={"513":"Topping"}
【解决方案2】:

@kanishka 给出了正确的答案,但我们已经使用 endcode 做到了。例如,假设我的控制器中有一个功能测试,如下所示

function test()
    {
         $insert_variation_data = array(
                'property_id'   => 'x',
                'value'         => 'y',
                'is_available'  => true,
                'scale'         => 'z',
                'price'         => 'm'  
            );
         $insert_variation_data[] = array(
                'property_id'   => 'a',
                'value'         => 'b',
                'is_available'  => true,
                'scale'         => 'c',
                'price'         => 'd'  
            );
         print_r(json_encode(array($insert_variation_data)));
    }

这会给我们一个输出

[{"property_id":"x","value":"y","is_available":true,"scale":"z","price":"m","0":{"property_id":"a","value":"b","is_available":true,"scale":"c","price":"d"}}]

如果您希望在 ajax 或其他方式中获得此响应。请在您必须使用的地方添加这些代码,以便我们提供更多帮助。

【讨论】:

    猜你喜欢
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多