首页 > 解决方案 > 如何将字符串转换为对象数组

问题描述

我有这种字符串。

[
    {
        "uniqueID" : "com.product",
        "name" : "john doe",
        "price" : "15",
        "description" : "some description"
    },
    {
        "uniqueID" : "com.product1",
        "name" : "john doe",
        "price" : "15",
        "description" : "some descriptio"
    }
]

我想将其更改为对象数组。喜欢

Array
(
 [0] => [
    {
        "uniqueID" : "com.product",
        "name" : "john doe",
        "price" : "15",
        "description" : "some descriptio"
    },

    [1] => 
    {
        "uniqueID" : "com.product1",
        "name" : "john doe",
        "price" : "15",
        "description" : "some description"
    },
]
)

我怎么能做到这一点,我用这个代码

  $data = $this->input->post('productArray');
  $dataArray = explode('},' , $data);

但它给了我这种解决方案。这不是我的要求。

Array
(
    [0] => [
    {
        "uniqueID" : "com.product",
        "name" : "john doe",
        "price" : "15",
        "description" : "some description"

    [1] => 
    {
        "uniqueID" : "com.product1",
        "name" : "john doe",
        "price" : "15",
        "description" : "some description"
    }
]
)

如果你能在这方面帮助我,我将感到很荣幸。

标签: phpcodeigniter

解决方案


json_decode是您正在寻找的东西。它是一个内置的 PHP 函数。这是下面列出的示例代码,使用您的 json 字符串作为输入:

$string = '[{"uniqueID":"com.product","name":"john doe","price":"15","description":"some description"},{"uniqueID":"com.product1","name":"john doe","price":"15","description":"some descriptio"}]';

$array = json_decode($string);

print_r($array);

//输出///

Array([ 0 ]=>stdClassObject([ uniqueID ]=>com.product[ name ]=>johndoe[ price ]=>15[ description ]=>somedescription)[ 1 ]=>stdClassObject([ uniqueID ]=>com. product1[ 名称 ]=>johndoe[
价格 ]=>15[ 描述 ]=>somedescriptio))


推荐阅读