【问题标题】:Parse JSON to mysql with Laravel使用 Laravel 将 JSON 解析为 mysql
【发布时间】:2018-07-23 20:10:54
【问题描述】:

我尝试通过 Laravel 将 JSON 植入 MySQL。我设法用简单的 JSON 文件做到了,但现在我面临着使用不同且最复杂的 JSON 格式的挑战。

JSON 数组

{
  "name":"John",
  "age":30,
  "cars":[ "Ford", "BMW", "Fiat" ]
}

和 JSON 对象数组

谢谢

【问题讨论】:

  • 如果你需要相应的结构,你可以试试这个:sqlizer.io/# 但是你应该自己设计一个好的数据库,因为这样的工具非常有限。
  • 我试过了,无法使用高级 json...
  • 你已经创建了表结构吗?
  • 是的,我的表还可以,问题是如何通过php解析字符串的json数组和对象的json数组。
  • json_decode 加上一些foreach 逻辑。

标签: json laravel


【解决方案1】:

要读取 JSON 字符串并将其转换为 PHP 数组,您应该使用 PHP 内置的 json_decode() 函数。由于您使用的是关联数组,请按以下方式使用它:

$json = 'JSON string';

$object = json_decode($json, true);

现在,您可以调用键并显示值:

$name = $object['name'] // John
$cars = $object['cars'] //['Ford', 'BMW', 'Fiat']
$ford = $object['cars'][0] // Ford 

现在您的信息存储在 PHP 数组中,您可以将 Eloquent 与数组的嵌套值一起使用:

使用 Eloquent:

Object::create([
    'name' => $object['name'],
    //
])->save();

希望有帮助!

【讨论】:

  • 谢谢卢克,直到这一点我也是。我不知道如何处理数组,例如上面的汽车
  • 查看更新的答案 :) 您可以像访问任何数组一样访问它,但现在您将 $object['cars'] 视为数组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
  • 1970-01-01
  • 2019-09-15
  • 2023-04-10
  • 2016-04-03
  • 2015-11-11
相关资源
最近更新 更多