Troubleshooting Common 'json value isn't an array VALUE: NULL' Errors in Duplicator
Content
Understanding the 'json value isn't an array VALUE: NULL' Error
If you're using the Duplicator plugin for WordPress migrations, you might encounter a confusing error message: json value isn't an array VALUE: NULL. This error typically appears during the deployment phase (Step 1 of 2) of the migration process, often when moving a site to a new hosting provider.
Why Does This Error Occur?
Based on community reports and troubleshooting threads, this error is not caused by a single issue but rather can be triggered by several underlying problems:
- Database Engine Mismatch: The most common cause appears to be a mismatch between database engines, particularly when migrating from MySQL to MariaDB or between significantly different versions of these systems.
- Corrupted Package Files: The installer might be attempting to read package data that has become corrupted or incomplete.
- Insufficient Server Resources: Although less common, inadequate disk space or memory on the destination server can sometimes manifest as this error.
- Plugin Conflicts: In some cases, other plugins might interfere with the serialization process that Duplicator uses.
How to Resolve the 'json value isn't an array' Error
Solution 1: Address Database Compatibility Issues
If you're migrating between different database systems (e.g., MySQL to MariaDB) or significantly different versions:
- Check the database version on both your source and destination servers during the validation process.
- If possible, try to match the database engines between source and destination. Some users have reported success by changing the destination server's database engine to match the source.
- If matching isn't possible, ensure both systems are running updated, stable versions.
Solution 2: Verify Package Integrity
Since this error often occurs when the installer cannot properly read the package data:
- Recreate the package on the source site. Sometimes a fresh build resolves serialization issues.
- Ensure the entire package (both archive and installer files) is downloaded completely and uploaded intact to the destination server.
- Verify file permissions on the destination server allow proper reading of all package files.
Solution 3: Check Server Resources
Although you might have already addressed disk space issues, consider:
- Verifying that both temporary directory and final destination have adequate space
- Checking PHP memory limits on both source and destination servers
- Ensuring maximum execution time values are sufficient for the migration process
Solution 4: Temporary Plugin Deactivation
Some users have resolved various Duplicator issues by:
- Using the installer's Safe Mode (Basic) option which temporarily deactivates plugins
- Manually deactivating potentially conflicting plugins before package creation
- Specifically examining any plugins that handle serialized data (like ACF) for issues
When to Seek Additional Help
If these solutions don't resolve your issue, the problem might be more specific to your server configuration. In such cases, checking the installer-log.txt file can provide more detailed error information that might point to the root cause. The Duplicator team maintains detailed documentation that covers many specific error scenarios and their resolutions.
Remember that migration issues can be complex and often depend on specific server configurations. The solutions outlined here address the most common scenarios reported by users experiencing this particular JSON error.
Related Support Threads Support
-
Exception: Invalid $testStatus value:https://wordpress.org/support/topic/exception-invalid-teststatus-value/
-
Server 200 Errorhttps://wordpress.org/support/topic/server-200-error/
-
Duplicator says “AJAX ERROR! STATUS:403 Forbidden”https://wordpress.org/support/topic/duplicator-says-ajax-error-status403-forbidden/
-
json value isn’t an array VALUE: NULLhttps://wordpress.org/support/topic/json-value-isnt-an-array-value-null-2/
-
New “DATABASE ERROR: database error write” just started appearinghttps://wordpress.org/support/topic/new-database-error-database-error-write-just-started-appearing/
-
Error in Free version involves PRO versionhttps://wordpress.org/support/topic/error-in-free-version-involves-pro-version/
-
Database Table row count validation was failedhttps://wordpress.org/support/topic/database-table-row-count-validation-was-failed/
-
Database Table row count validation failed – Row Count Mismatchhttps://wordpress.org/support/topic/database-table-row-count-validation-failed-row-count-mismatch/
-
AJAX ERROR! Status:0 timeouthttps://wordpress.org/support/topic/ajax-error-status0-timeout/
-
WordPress database error: [Cannot load from mysql.proc. The table is …https://wordpress.org/support/topic/wordpress-database-error-cannot-load-from-mysql-proc-the-table-is/
-
Error on DUPX.parseJSON at step 1https://wordpress.org/support/topic/error-on-dupx-parsejson-at-step-1/
-
Problem with serialized data (ACF)https://wordpress.org/support/topic/problem-with-serialized-data-acf/
-
Error uplod databasehttps://wordpress.org/support/topic/error-uplod-database/
-
Tables Flagged for Removal or Backuphttps://wordpress.org/support/topic/tables-flagged-for-removal-or-backup/
-
AJAX 500 Errorshttps://wordpress.org/support/topic/ajax-500-errors-2/
-
v1.3.12 not workinghttps://wordpress.org/support/topic/v1-3-12-not-working/
-
Backup Issuehttps://wordpress.org/support/topic/backup-issue-4/
-
Latest Elementor Pro (3.16.2) breaks Duplicatorhttps://wordpress.org/support/topic/latest-elementor-pro-3-16-2-breaks-duplicator/
-
Error to Install WP with Duplicatehttps://wordpress.org/support/topic/error-to-install-wp-with-duplicate/
-
Error 503 – backend fetch failed – One.comhttps://wordpress.org/support/topic/error-503-backend-fetch-failed-one-com/
-
Unable to update Pages in wp-adminhttps://wordpress.org/support/topic/unable-to-update-pages-in-wp-admin/
-
DATABASE ERROR: database error writehttps://wordpress.org/support/topic/database-error-database-error-write/
-
json value isn’t an array VALUE: NULLhttps://wordpress.org/support/topic/json-value-isnt-an-array-value-null-3/
-
ERROR: serialize data serial check errorhttps://wordpress.org/support/topic/error-serialize-data-serial-check-error/
-
Duplicator Notice and Database errorshttps://wordpress.org/support/topic/duplicator-notice-and-database-errors/
-
Duplicator Throws HTTP 500 during backuphttps://wordpress.org/support/topic/duplicator-throws-http-500-during-backup/
-
Had 146 database errors but it seems to work anyway, anything to worry about?https://wordpress.org/support/topic/had-146-database-errors-but-it-seems-to-work-anyway-anything-to-worry-about/
-
Database Table row count validation errorhttps://wordpress.org/support/topic/database-table-row-count-validation-error/
-
Database Errorhttps://wordpress.org/support/topic/database-error-291/
-
AJAX ERROR! STATUS:500 errorhttps://wordpress.org/support/topic/ajax-error-status500-error/
-
Requirements Failed [RES] => Array [INSTALL] => Failhttps://wordpress.org/support/topic/requirements-failed-res-array-install-fail/
-
Unable to save settingshttps://wordpress.org/support/topic/unable-to-save-settings-19/
-
503 Backend fetch failedhttps://wordpress.org/support/topic/503-backend-fetch-failed/
-
Private methods cannot be final as they are never overriddenhttps://wordpress.org/support/topic/private-methods-cannot-be-final-as-they-are-never-overridden-2/
-
Server 200 Errorhttps://wordpress.org/support/topic/server-200-error-2/
-
DATABASE ERROR: Cannot add or update a child rowhttps://wordpress.org/support/topic/database-error-cannot-add-or-update-a-child-row/
-
“Ajax Error” on Settings Pagehttps://wordpress.org/support/topic/ajax-error-on-settings-page/
-
json value isn’t an array VALUE: NULLhttps://wordpress.org/support/topic/json-value-isnt-an-array-value-null/