插件窝 干货文章 json怎么转php数组对象数组

json怎么转php数组对象数组

数组 json 字符串 jsonString 80    来源:    2025-03-19

在PHP中,你可以使用 json_decode() 函数将JSON字符串转换为PHP数组或对象。json_decode() 函数的第二个参数决定了返回的数据类型:如果设置为 true,则返回关联数组;如果设置为 false 或省略,则返回对象。

以下是一个示例,展示如何将JSON字符串转换为PHP数组或对象数组:

1. JSON字符串转换为PHP数组

$jsonString = '[
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 30}
]';

// 将JSON字符串转换为PHP数组
$phpArray = json_decode($jsonString, true);

// 输出数组
print_r($phpArray);

输出结果:

Array
(
    [0] => Array
        (
            [name] => Alice
            [age] => 25
        )

    [1] => Array
        (
            [name] => Bob
            [age] => 30
        )

)

2. JSON字符串转换为PHP对象数组

$jsonString = '[
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 30}
]';

// 将JSON字符串转换为PHP对象数组
$phpObjectArray = json_decode($jsonString);

// 输出对象数组
print_r($phpObjectArray);

输出结果:

Array
(
    [0] => stdClass Object
        (
            [name] => Alice
            [age] => 25
        )

    [1] => stdClass Object
        (
            [name] => Bob
            [age] => 30
        )

)

3. 访问数组或对象中的元素

  • 访问数组元素:
echo $phpArray[0]['name']; // 输出: Alice
  • 访问对象元素:
echo $phpObjectArray[0]->name; // 输出: Alice

4. 处理JSON解码错误

在实际应用中,可能会遇到JSON字符串格式不正确的情况。你可以使用 json_last_error() 函数来检查解码过程中是否发生了错误。

$jsonString = '{"name": "Alice", "age": 25'; // 不完整的JSON字符串

$phpArray = json_decode($jsonString, true);

if (json_last_error() === JSON_ERROR_NONE) {
    print_r($phpArray);
} else {
    echo 'JSON解码错误: ' . json_last_error_msg();
}

输出结果:

JSON解码错误: Syntax error

总结

  • 使用 json_decode($jsonString, true) 将JSON字符串转换为PHP数组。
  • 使用 json_decode($jsonString) 将JSON字符串转换为PHP对象数组。
  • 使用 json_last_error()json_last_error_msg() 来检查和处理JSON解码错误。

希望这些信息对你有帮助!