Hi Justin,
Sorry for the late reply. I’ve tried the steps you suggested and have included screenshots below.
What I’m seeing
The property definitions appear to have changed in the migrated site, but the content has not. Here is an example of a property that changed:
And the same property on the production site:
So properties seem changed, but content is not? In migrated site:

In live:
When I open the page in the migrated site, I get the following error:
Could not deserialize the provided property value into a block editor value: "[{\"key\":\"df72c0fa-e8de-4aa6-b27b-0f8201043532\",\"name\":\"Ambiorixwinnaar 2026: PVS\",\"ncContentTypeAlias\":\"videoPiece\",\"PropType\":null,\"videoThumbnail\":\"umb://media/6a9ab2a6d59f4343838308c2fa4f873d\",\"videoLabel\":\"Video\",\"videoTitle\":\"Ambiorixwinnaar 2026: PVS\",\"videoUrl\":\"``https://youtube.com/AZyrUW1e8FE\"},{\"key\":\"8d0dbce9-fe30-49b3-b19e-1e9796c121d0\",\"name\":\"Ambiorixwinnaar`` 2025: Golazo\",\"ncContentTypeAlias\":\"videoPiece\",\"PropType\":null,\"videoThumbnail\":\"umb://media/88d166d60742487ba10f1714d5f5d12a\",\"videoLabel\":\"Video\",\"videoTitle\":\"Ambiorixwinnaar 2025: Golazo\",\"videoUrl\":\"``https://youtube.com/embed/4WfkNb_Ut9o\"},{\"key\":\"540ff9e5-0f04-4750-a161-26eeb6f12c7f\",\"name\":\"Ambiorixwinnaar`` 2024: Veldeman Group\",\"ncContentTypeAlias\":\"videoPiece\",\"PropType\":null,\"videoThumbnail\":\"umb://media/8f13885737074faa9546fef400f76ef4\",\"videoLabel\":\"Video\",\"videoTitle\":\"Ambiorixwinnaar 2024: Veldeman Group\",\"videoUrl\":\" YouTube 2023: Spaas Kaarsen",“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/d15687248a1f489d84d34a104db79f21”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2023: Spaas Kaarsen”,“videoUrl”:" https://www.youtube.com/embed/K7LqyWdHB_8?si=Wp1VgNXWWHqqleGu\\"},{\\"key\\":\\"80d43317-41e0-480d-9056-28817fb4b92c\\",\\"name\\":\\"Ambiorixwinnaar 2022: APK Group",“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/3978e70dca834ee997af86027d54a6c7”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2022: APK Group”,“videoUrl”:“https://www.youtube.com/embed/y8qKxyaHj4A\"},{\"key\":\"2e87f432-67a1-4f6a-af0f-9f5f39ad90d2\",\"name\":\"Ambiorixwinnaar 2021: Nelissen Steenfabrieken”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/6c6b2cb0dc7d490195e77a7f9032766b”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2021: Nelissen Steenfabrieken”,“videoUrl”:“https://www.youtube.com/embed/s4sYXOJwdEo\"},{\"key\":\"ee94c16b-3d52-4692-bed4-38dd434a73b2\",\"name\":\"Ambiorixwinnaar 2020: Arte”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/d68ec168bbbc45f3ac17715f65abb593”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2020: Arte”,“videoUrl”:“https://www.youtube.com/embed/MOkhnLEFklE\"},{\"key\":\"d43f7585-471d-49ff-b9d7-ac8762638e10\",\"name\":\"Ambiorixwinnaar 2019: Bioracer”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/b3d25edeb79d43fcbc2a1ada18b577e7”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2019: Bioracer”,“videoUrl”:“https://www.youtube.com/embed/ll9iRIw0mdk\"},{\"key\":\"bd022794-410b-412f-8d1f-4bfd1ba00d44\",\"name\":\"Ambiorixwinnaar 2018: ACA IT-Solutions”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/e9ea6985d66947bc8fcc3c7c248dfc3f”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2018: ACA IT-Solutions”,“videoUrl”:“https://www.youtube.com/embed/sqp60gszLMc\"},{\"key\":\"7824bb0c-ba06-4b9c-8841-b08dec7a5852\",\"name\":\"Ambiorixwinnaar 2017: Tribù”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/8f1b7b2953fe4120bb02dafa0ea714eb”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2017: Tribù”,“videoUrl”:“https://www.youtube.com/embed/287frxFCgeI\"},{\"key\":\"4c5f6496-5c27-4616-9f3d-2139c553577f\",\"name\":\"Ambiorixwinnaar 2016: Punch Powertrain”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/8e9ba075891542cc8673d30723d21e13”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2016: Punch Powertrain”,“videoUrl”:“https://www.youtube.com/embed/5VRsw0yjuho\"},{\"key\":\"0cfe4b1d-a509-4462-b228-38fecd6cbbba\",\"name\":\"Ambiorixwinnaar 2015: Globachem”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/24f45607d9884655bb99ae2ea4fe9493”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2015: Globachem”,“videoUrl”:“https://www.youtube.com/embed/bCbyKIahQCM\"},{\"key\":\"9c538fbe-dc7c-4f03-8b3a-303560d7810b\",\"name\":\"Ambiorixwinnaar 2014: Melexis”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/a4fa5a11f2b949fdbe323fb6f63243cf”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2014: Melexis”,“videoUrl”:“https://www.youtube.com/embed/3ZvoMRMG2aw\"},{\"key\":\"2f50f6d5-f837-4f99-ba50-c78420d9a847\",\"name\":\"Ambiorixwinnaar 2013: Warsco”,“ncContentTypeAlias”:“videoPiece”,“PropType”:null,“videoThumbnail”:“umb://media/0f053fa242f5432cb8fe2c1f883139c5”,“videoLabel”:“Video”,“videoTitle”:“Ambiorixwinnaar 2013: Warsco”,“videoUrl”:"https://www.youtube.com/embed/xXkSwX11VKg\"}]". Error: “Cannot deserialize the current JSON array (e.g. [1,2,3]) into type ‘Umbraco.Cms.Core.Models.Blocks.BlockValue’ because the type requires a JSON object (e.g. {“name”:“value”}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {“name”:“value”}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array. Path ‘’, line 1, position 1.”.`
My analysis
The database still holds the content in the old Nested Content format. Nested Content stores each property value as a JSON array ([{...},{...}]), whereas Block List expects a JSON object ({"layout":{...},"contentData":[...],"settingsData":[...]}). The data types were switched to Block List, but the stored values were never converted, so Umbraco cannot read them.*
*
Steps I followed (as suggested)
- Ran a full uSync export, including content, on the v8 (source) site.
- In the v13 site, went to Settings → uSync Migrations and created a migration with the Nested Content → Block List converter enabled for both content and data types.
- Imported the result.
- Rebuilt the Memory Cache and the Database Cache under Settings → Published Status.

The problem persists
Even when I create a new page and fill in the migrated property (after adjusting the view to work with Block List), I get the same error:
Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Umbraco.Cms.Core.Models.Blocks.BlockValue' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly. To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
When I query the database, the stored value is in the wrong format:
[
{
"key": "dbac2796-2a10-4408-8724-24f89ca66aa8",
"name": "2026",
"ncContentTypeAlias": "laureaatGroup",
"PropType": null,
"year": 2026,
"winner": "test",
"active": 1
}
]
Block List expects a format like this:
{
"layout": {
"Umbraco.BlockList": [
{
"contentUdi": "umb://element/343387add9fa4f3daf186ca186c75dc3"
}
]
},
"contentData": [
{
"contentTypeKey": "cdf378e5-5b25-44f2-9415-799fc6ae140f",
"udi": "umb://element/343387add9fa4f3daf186ca186c75dc3",
"videoThumbnail": "umb://media/145d167c3a7b48a9b5cf9e2938acffd2",
"year": "2026",
"winner": "test",
"active": 1
}
],
"settingsData": []
}
My question
Is converting the JSON structure in the database a manual step, or should uSync Migrations normally handle this automatically? If it should be automatic, do you have any idea why it isn’t happening here?
Got around 20k records in database with invalid JSON-structure missing the layout, contentData and settingsData main-nodes… figuring out now how to change these using a script/converter.
Thanks in advance for your help.