Feature_ #1560
closedАтрибуты узла в json хранятся в массиве, а не в объекте
100%
Description
Атрибуты узла в json файле хранятся в массиве:
{
"attributes": [
{
"key": "_type",
"type": "STRING",
"value": "Requirement"
},
{
"key": "_name",
"type": "STRING",
"value": "Общие требования к приобретению зарезервированной услуги"
},
{
"key": "_locations",
"type": "LIST",
"value": ["/Documents/JV_FS_v1.4.xhtml/a9701f8f-db0a-458b-94a0-257380a43094"]
}
],
"uuid": "191c2439-4981-4130-902b-6b0a9a1ddb27"
}
Это приводит к тому, что при изменении (даже нулевом) массив перезаписывается с изменением порядка:
{
"attributes": [
{
"key": "_type",
"type": "STRING",
"value": "Requirement"
},
{
"key": "_locations",
"type": "LIST",
"value": ["/Documents/JV_FS_v1.4.xhtml/a9701f8f-db0a-458b-94a0-257380a43094"]
},
{
"key": "_name",
"type": "STRING",
"value": "Общие требования к приобретению зарезервированной услуги"
}
],
"uuid": "191c2439-4981-4130-902b-6b0a9a1ddb27"
}
В результате появляются ложные изменения, которые мешают работать с svn.
Чтобы такого не происходило, надо поменять формат json файла (с сохранением обратной совместимости)
{
"attributes": {
"_type": {
"key": "_type",
"type": "STRING",
"value": "Requirement"
},
"_name": {
"key": "_name",
"type": "STRING",
"value": "Общие требования к приобретению зарезервированной услуги"
},
"_locations": {
"key": "_locations",
"type": "LIST",
"value": ["/Documents/JV_FS_v1.4.xhtml/a9701f8f-db0a-458b-94a0-257380a43094"]
}
},
"uuid": "191c2439-4981-4130-902b-6b0a9a1ddb27"
}