gpt4 book ai didi

javascript - 将 JS 对象提取为 JSON

转载 作者:行者123 更新时间:2023-12-02 22:45:25 26 4
gpt4 key购买 nike

https://www.genenames.org/js/custom-downloads-bf.js

上面的 URL 包含一个这样的对象。

我想将其提取并以 JSON 格式打印到 stdout。有人可以向我展示实现此目标的完整代码(Python 或 NodeJS)吗?

        var i = {
CHROMOSOMES: {
HUMAN: [{
name: "1",
value: "1"
}, {
name: "2",
value: "2"
}, {
name: "3",
value: "3"
}, {
name: "4",
value: "4"
}, {
name: "5",
value: "5"
}, {
name: "6",
value: "6"
}, {
name: "7",
value: "7"
}, {
name: "8",
value: "8"
}, {
name: "9",
value: "9"
}, {
name: "10",
value: "10"
}, {
name: "11",
value: "11"
}, {
name: "12",
value: "12"
}, {
name: "13",
value: "13"
}, {
name: "14",
value: "14"
}, {
name: "15",
value: "15"
}, {
name: "16",
value: "16"
}, {
name: "17",
value: "17"
}, {
name: "18",
value: "18"
}, {
name: "19",
value: "19"
}, {
name: "20",
value: "20"
}, {
name: "21",
value: "21"
}, {
name: "22",
value: "22"
}, {
name: "X",
value: "X"
}, {
name: "Y",
value: "Y"
}, {
name: "reserved loci",
value: "reserved"
}, {
name: "mitochondrial",
value: "mito"
}, {
name: "pseudoautosomal",
value: "XandY"
}]
},
STATUSES: [{
name: "Approved",
value: "Approved"
}, {
name: "Entry and symbol withdrawn",
value: "Entry Withdrawn"
}],
ATTRIBUTES: {
HGNC: [{
name: "HGNC ID",
value: "gd_hgnc_id"
}, {
name: "Approved symbol",
value: "gd_app_sym"
}, {
name: "Approved name",
value: "gd_app_name"
}, {
name: "Status",
value: "gd_status"
}, {
name: "Locus type",
value: "gd_locus_type"
}, {
name: "Locus group",
value: "gd_locus_group"
}, {
name: "Previous symbols",
value: "gd_prev_sym"
}, {
name: "Previous name",
value: "gd_prev_name"
}, {
name: "Synonyms",
value: "gd_aliases"
}, {
name: "Name synonyms",
value: "gd_name_aliases"
}, {
name: "Chromosome",
value: "gd_pub_chrom_map"
}, {
name: "Date approved",
value: "gd_date2app_or_res"
}, {
name: "Date modified",
value: "gd_date_mod"
}, {
name: "Date symbol changed",
value: "gd_date_sym_change"
}, {
name: "Date name changed",
value: "gd_date_name_change"
}, {
name: "Accession numbers",
value: "gd_pub_acc_ids"
}, {
name: "Enzyme IDs",
value: "gd_enz_ids"
}, {
name: "NCBI Gene ID",
value: "gd_pub_eg_id"
}, {
name: "Ensembl gene ID",
value: "gd_pub_ensembl_id"
}, {
name: "Mouse genome database ID",
value: "gd_mgd_id"
}, {
name: "Specialist database links",
value: "gd_other_ids"
}, {
name: "Specialist database IDs",
value: "gd_other_ids_list"
}, {
name: "Pubmed IDs",
value: "gd_pubmed_ids"
}, {
name: "RefSeq IDs",
value: "gd_pub_refseq_ids"
}, {
name: "Gene group ID",
value: "family.id"
}, {
name: "Gene group name",
value: "family.name"
}, {
name: "CCDS IDs",
value: "gd_ccds_ids"
}, {
name: "Vega IDs",
value: "gd_vega_ids"
}, {
name: "Locus specific databases",
value: "gd_lsdb_links"
}],
EXTERNAL: [{
name: "NCBI Gene ID",
source: "NCBI",
value: "md_eg_id"
}, {
name: "OMIM ID",
source: "OMIM",
value: "md_mim_id"
}, {
name: "RefSeq",
source: "NCBI",
value: "md_refseq_id"
}, {
name: "UniProt ID",
source: "UniProt",
value: "md_prot_id"
}, {
name: "Ensembl ID",
source: "Ensembl",
value: "md_ensembl_id"
}, {
name: "Vega ID",
source: "Vega",
value: "md_vega_id"
}, {
name: "UCSC ID",
source: "UCSC",
value: "md_ucsc_id"
}, {
name: "Mouse genome database ID",
source: "MGI",
value: "md_mgd_id"
}, {
name: "Rat genome database ID",
source: "RGD",
value: "md_rgd_id"
}, {
name: "LNCipedia",
source: "LNCipedia",
value: "md_lncipedia"
}, {
name: "GtRNAdb",
source: "GtRNAdb",
value: "md_gtrnadb"
}]
},
ORDER_BY: [{
name: "HGNC ID",
value: "gd_hgnc_id"
}, {
name: "Approved symbol",
value: "gd_app_sym_sort"
}, {
name: "Approved name",
value: "gd_app_name"
}, {
name: "Status",
value: "gd_status"
}, {
name: "Locus type",
value: "gd_locus_type"
}, {
name: "Locus group",
value: "gd_locus_group"
}, {
name: "Previous symbols",
value: "gd_prev_sym"
}, {
name: "Previous name",
value: "gd_prev_name"
}, {
name: "Synonyms",
value: "gd_aliases"
}, {
name: "Name synonyms",
value: "gd_name_aliases"
}, {
name: "Chromosome",
value: "gd_pub_chrom_map_sort"
}, {
name: "Date approved",
value: "gd_date2app_or_res"
}, {
name: "Date modified",
value: "gd_date_mod"
}, {
name: "Date symbol changed",
value: "gd_date_sym_change"
}, {
name: "Date name changed",
value: "gd_date_name_change"
}, {
name: "Accession numbers",
value: "gd_pub_acc_ids"
}, {
name: "Enzyme IDs",
value: "gd_enz_ids"
}, {
name: "NCBI Gene ID",
value: "gd_pub_eg_id"
}, {
name: "Ensembl gene ID",
value: "gd_pub_ensembl_id"
}, {
name: "Mouse genome database ID",
value: "gd_mgd_id"
}, {
name: "Specialist database links",
value: "gd_other_ids"
}, {
name: "Specialist database IDs",
value: "gd_other_ids_list"
}, {
name: "Pubmed IDs",
value: "gd_pubmed_ids"
}, {
name: "RefSeq IDs",
value: "gd_pub_refseq_ids"
}, {
name: "Gene group ID",
value: "family.id"
}, {
name: "Gene group name",
value: "family.name"
}, {
name: "CCDS IDs",
value: "gd_ccds_ids"
}, {
name: "Vega IDs",
value: "gd_vega_ids"
}, {
name: "Locus specific databases",
value: "gd_lsdb_links"
}, {
name: "NCBI Gene ID (supplied by NCBI)",
value: "md_eg_id"
}, {
name: "OMIM ID (supplied by OMIM)",
value: "md_mim_id"
}, {
name: "RefSeq (supplied by NCBI)",
value: "md_refseq_id"
}, {
name: "UniProt ID (supplied by UniProt)",
value: "md_prot_id"
}, {
name: "Ensembl ID (supplied by Ensembl)",
value: "md_ensembl_id"
}, {
name: "Vega ID (supplied by Vega)",
value: "md_vega_id"
}, {
name: "UCSC ID (supplied by UCSC)",
value: "md_ucsc_id"
}, {
name: "Mouse genome database ID (supplied by MGI)",
value: "md_mgd_id"
}, {
name: "Rat genome database ID (supplied by RGD)",
value: "md_rgd_id"
}, {
name: "LNCipedia ID (supplied by LNCipedia)",
value: "md_lncipedia"
}, {
name: "GtRNAdb ID (supplied by GtRNAdb)",
value: "md_gtrnadb"
}],
OUTPUT: ["Text", "Make URL for text"]
};

最佳答案

我可能会美化 .js(例如使用 https://jsonformatter.org/jsbeautifier ):

然后运行它:

sed -n $'/^[ \t]*CHROMOSOMES/,/^[ \t]*};/p' |
sed -e '1s/^/{/' -e '$s/;//'

关于javascript - 将 JS 对象提取为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58423293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com