我有这个巨大的JSON文件。目前我使用它的方式是:
问题是,代码很难看。此外,这些数组中的某些对象本身就是数组,并非所有记录都包含所有值。我必须使用isset检查是否存在特定值,或使用默认值等。总的来说,它工作正常,但代码很难看。有什么方法可以写得更好吗?
答案 0 :(得分:2)
很难在不查看代码的情况下提出建议,但我想提醒一下有关数组的PHP +运算符,它可以非破坏性地合并两个数组。
$default_values = array('Name' => '', 'Email' => '', 'Meta' => '');
$data = array('Name' => 'John'); // Only name set
$fixed_data = $data + $default_values;
$fixed_data
现在看起来像array('Name' => 'John', 'Email' => '', 'Meta' => '');
而不需要多次isset()检查。 (可能不适用于您的情况,没有更多信息很难说。)
答案 1 :(得分:1)
如果您不想编写丑陋的代码来生成SQL查询,请考虑使用ORM Propel和doctrine是我个人使用过的。
doctrine有一个方法从数组生成一个对象,然后简单地在其上调用一个save方法。
答案 2 :(得分:0)
美丽在旁观者的眼中。
如果JSON的格式超出了您的控制范围,那么除了在棋盘周围进行随机播放之外,您无能为力。通常的做法是让你的功能尽可能小而整洁,而不是只有一大块代码。多功能将更容易阅读和更可重复使用。
我倾向于将此过程称为功能分解。
当然你也可以采用OO方法并构建一些很好的对象,将自己保存到数据库并从JSON对象的部分构建自己,但这基本上是相同的(除了它使OO纯粹主义者在晚上睡得更好)。
答案 3 :(得分:0)
大多数数据库(MySQL,sqlite等)更喜欢使用XML数据格式import/export data。
您可以将JSON对象转换为XML,然后使用它。
在不久的将来看到支持JSON的数据库我并不感到惊讶,但是现在这可能是最好的事情。
答案 4 :(得分:0)