Javascript 检查json密钥的使用情况
我有一个json文件,我在几个相关的代码存储库中使用它(它是一个与Javascript 检查json密钥的使用情况,javascript,json,react-intl,Javascript,Json,React Intl,我有一个json文件,我在几个相关的代码存储库中使用它(它是一个与react intl一起使用的语言文件) 它随着时间的推移(几百把钥匙)大量增加,我们想把它整理一下 是否有任何快速明智的方法来确定是否有任何钥匙未使用 该文件如下所示: { "Account.AdditionalInformation": "Additional contact information", "Account.Address": "Address", "Account.Billing": "Billin
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.BillTo.Company”:“A Company”,
“Account.BillTo.Me”:“我”,
“Account.CompanyName”:“公司名称”,
“Account.CompanyMember”:“已将您添加到其公司帐户”,
“会计部门”:“部门”,
“帐户.电子邮件”:“电子邮件地址”,
“Account.EmailVerified”:“感谢您验证您的电子邮件!”,
“Account.EssentialContact”:“重要联系方式”,
“Account.FamilyName”:“姓氏”,
“Account.GivenName”:“名字”,
“账户.职务”:“职务”,
“帐户.电话”:“电话号码”,
“账户部门”:“行业部门”,
“帐户.标题”:“标题”,
“账户.头衔.女性”:“女士”,
“账户.头衔.男性”:“先生”,
//……等等
}
功能检查键(键名){
if(myJSON.hasOwnProperty(keyName)){
警报(keyName+“存在”)
}
}
checkKey('Account.Address')
创建一个函数,并使用hasOwnProperty
检查此对象是否有此名称的键。在此之前,您需要在变量中获取json文件的内容
var myJSON={
“帐户.附加信息”:“附加联系信息”,
“账户地址”:“地址”,
“账户.账单”:“账单明细”,
“账户.账单名称”:“账单名称”,
“账户.账单收件人”:“账单收件人”,
“Account.BillTo.Company”:“A Company”,
“Account.BillTo.Me”:“我”,
“Account.CompanyName”:“公司名称”,
“Account.CompanyMember”:“已将您添加到其公司帐户”,
“会计部门”:“部门”,
“帐户.电子邮件”:“电子邮件地址”,
“Account.EmailVerified”:“感谢您验证您的电子邮件!”,
“Account.EssentialContact”:“重要联系方式”,
“Account.FamilyName”:“姓氏”,
“Account.GivenName”:“名字”,
“账户.职务”:“职务”,
“帐户.电话”:“电话号码”,
“账户部门”:“行业部门”,
“帐户.标题”:“标题”,
“账户.头衔.女性”:“女士”,
“账户.头衔.男性”:“先生”,
//……等等
}
功能检查键(键名){
if(myJSON.hasOwnProperty(keyName)){
警报(keyName+“存在”)
}
}
checkKey('Account.Address')
No,没有简单的方法。让我们假设密钥是动态构建的,例如,'Account.+'Family'+'Name'
。如果您在源代码中查找Account.FamilyName,将很难找到这样的过程是否已被放置大多数键不是动态构建的-格式化只是为了给混乱的json强加某种顺序;)有几个键,比如“Order.dialogue.en-uk”,其中最后一部分是可变的,但在任何评论中都很容易发现。不,没有简单的方法。让我们假设密钥是动态构建的,例如,'Account.+'Family'+'Name'
。如果您在源代码中查找Account.FamilyName,将很难找到这样的过程是否已被放置大多数键不是动态构建的-格式化只是为了给混乱的json强加某种顺序;)有几个键,比如“Order.dialogue.en-uk”,其中最后一部分是可变的,但在任何评论中都很容易发现。我想我实际上需要更深入地搜索每个键的源代码。例如,一个表单可能有一些类似于
Hmm的东西。我想我实际上需要更深入地搜索每个键的源代码。例如,一个表单可能有一些类似于