У меня есть json файл, который я использую через пару связанных репозиториев кода (это языковой файл для использования с react-intl
)
Он значительно увеличился с течением времени (несколько сотен ключей), и мы хотим его убрать.
Есть ли какой-либо быстрый способ определить, не используется ли какой-либо из ключей?
файл выглядит следующим образом:
{
"Account.AdditionalInformation": "Additional contact information",
"Account.Address": "Address",
"Account.Billing": "Billing details",
"Account.BillingName": "Billing name",
"Account.BillTo": "Bill to",
"Account.BillTo.Company": "A company",
"Account.BillTo.Me": "Me",
"Account.CompanyName": "Company name",
"Account.CompanyMember": "has added you to their corporate account",
"Account.Department": "Department",
"Account.Email": "Email address",
"Account.EmailVerified": "Thank you for verifying your email!",
"Account.EssentialContact": "Essential contact details",
"Account.FamilyName": "Surname",
"Account.GivenName": "First name",
"Account.JobTitle": "Job title",
"Account.Phone": "Phone number",
"Account.Sector": "Industry sector",
"Account.Title": "Title",
"Account.Title.Female": "Mrs",
"Account.Title.Male": "Mr",
//.. and so on
}
Создайте функцию и используйте hasOwnProperty
чтобы проверить, есть ли у этого объекта какой-либо ключ от этого имени. Для этого вам нужно получить содержимое json файла в переменной
var myJSON = {
"Account.AdditionalInformation": "Additional contact information",
"Account.Address": "Address",
"Account.Billing": "Billing details",
"Account.BillingName": "Billing name",
"Account.BillTo": "Bill to",
"Account.BillTo.Company": "A company",
"Account.BillTo.Me": "Me",
"Account.CompanyName": "Company name",
"Account.CompanyMember": "has added you to their corporate account",
"Account.Department": "Department",
"Account.Email": "Email address",
"Account.EmailVerified": "Thank you for verifying your email!",
"Account.EssentialContact": "Essential contact details",
"Account.FamilyName": "Surname",
"Account.GivenName": "First name",
"Account.JobTitle": "Job title",
"Account.Phone": "Phone number",
"Account.Sector": "Industry sector",
"Account.Title": "Title",
"Account.Title.Female": "Mrs",
"Account.Title.Male": "Mr",
//.. and so on
}
function checkKey(keyName) {
if (myJSON.hasOwnProperty(keyName)) {
alert(keyName + " Exists")
}
}
checkKey('Account.Address')
<Field component={TextField} name="familyName" label="Account.FamilyName" validate={required} showErrorBeforeTouched />
'Account.' + 'Family' + 'Name'
. Если вы посмотрите в исходном кодеAccount.FamilyName
будет трудно найти, был ли размещен такой процесс.