2015-11-25 2 views
1

Я знаю, что следующие две строки json действительны, но какой из них может быть лучше? Я думаю, что второй может отображать больше информации, когда я получаю имя поля, однако я боюсь, что если я последую этому правилу именования, имя поля может быть очень длинным. Надеюсь, кто-то, кто рассмотрел эти проекты, мог бы дать мне несколько предложений, большое спасибо!Соглашение об именах JSON в разных объектах

Вариант 1:

{ 
    "applicant": { 
    "name": "John", 
    "age": 30 
    }, 
    "insured": { 
    "name": "Marry", 
    "age": 25 
    } 
} 

Вариант 2:

{ 
    "applicant": { 
    "applicantName": "John", 
    "applicantAge": 30 
    }, 
    "insured": { 
    "insuredName": "Marry", 
    "insuredAge": 25 
    } 
} 

ответ

0

Используя длинную нотацию:

  • избыточно
  • делает кодовая более многословным, который может заставить вас потерять больше времени при наборе текста и иногда может затруднить чтение
  • затрудняет повторное использование тех же объектов, что и вам, чтобы постоянно перенастраивать свойства (т. если вы хотите иметь то же самое applicant и insured, вам необходимо будет перенаправить applicantName в insuredName и applicantAge в insuredAge, а также другие объекты, которые могут быть у вас есть).
  • затрудняет повторное использование любого существующего кода, который был создан для управления экземпляром Applicant или Insured, потому что хотя имена полей могут иметь одинаковые значения, они не называются одинаковыми.

я предпочел бы более короткие обозначения и будет переназначить свойства дольше одной только тогда, когда я должен был бы уплощенную объект, который иногда может быть полезно в некоторых рамках MVC/MVVM, такие как KnockoutJS. Например, я хотел бы использовать:

{ 
    "applicant": { 
    "name": "John", 
    "age": 30 
    }, 
    "insured": { 
    "name": "Marry", 
    "age": 25 
    } 
} 

и будет переназначить на:

{ 
    "applicantName": "John", 
    "applicantAge": 30, 
    "insuredName": "Marry", 
    "insuredAge": 25 
} 

только тогда, когда я в ней нуждается.

Сказав это, я хотел бы также попытаться сохранить имена переменных в моем коде легко понять - я всегда называть мой массив заявителей applicants или applicantsList и не data или items, так что все (включая меня), кто читает мой код всегда знает, о чем это.