php - 如何将字符串转换为对象数组
问题描述
我有这种字符串。
[
{
"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"
}
]
)
如果你能在这方面帮助我,我将感到很荣幸。
解决方案
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))
推荐阅读
- java - jdk 警告:计划从未来的 JDK 版本中删除 Nashorn 引擎
- python - 带有 XGBoost 和使用 eval_set 的 DaskML 需要预先计算的数据
- javascript - 无法在 Gitlab 页面上访问我的 Svelte 组件名称
- c++ - 一位朋友给了我他的源代码,但我无法修复 FNVHash 中的错误
- html - 使用css在div中隐藏第一个跨度和标签
- angularjs - 如何仅更改 D3.js 图表中数据网格或 x 和 y 轴的颜色
- php - Mediawiki - 使用 cookie 的基本 SSO 脚本
- django - Django + Vuejs 无法从响应头中获取 Csrftoken
- python - 将数据附加到执行 for 循环的 Pandas
- javascript - 如何从 LocalStorage 编辑某个对象的属性,然后将其放回 Vanilla Javascript?