簡體   English   中英

用JavaScript存儲以下內容的最佳方法是什么?

[英]What is the best way to store the following in Javascript?

我需要用Javascript存儲國家,州,城市和縣的信息。 例:

   Country    State           City           County 
    USA        CA           Oakland         Alameda 
    USA        CA           Markleeville    Alpine 
    USA        WA           Seattle         king
    ...
   CANADA     Ontario       Toronto          -
    ...

    UK    Grater London     London           -        

在Java中存儲此類信息的最佳存儲或數據結構是什么? 我當時在考慮數組,但肯定還有其他更簡單的方法。

謝謝

我們在談論多少數據?

最簡單的方法是(對象)數組,它可能無法擴展到成千上萬條記錄:

var data = [
   { country: 'USA', state: 'CA', city : 'Oakland', county: 'Alameda' } 
   ....
];

如果您想要最簡單的處理方式,則應將其存儲在JSON中

[
   { country: 'USA', state: 'CA', city : 'Oakland', county: 'Alameda' },
   { country: 'USA', state: 'CA', city : 'Markleeville', county: 'Alpine' },
   { country: 'USA', state: 'CA', city : 'Seattle', county: 'king' }
   ....
];

如果您想要最小的文件大小 ,則應使用CSV

Country,State,City,County 
USA,CA,Oakland,Alameda 
USA,CA,Markleeville,Alpine 
USA,WA,Seattle,king

如果您想在兩者之間使用,可以使用壓縮的JSON格式

[

  "cols": ["country", "state", "city", "county"],
  "rows": [["USA", "CA", "Oakland", "Alameda"],
           ["USA", "CA", "Markleeville", "Alpine"],
           ["USA", "CA", "Seattle", "king"],
          ... ]
};

說明

使用JSON,您將獲得一個本機Javascript對象,該對象可通過<script>標記或Ajax加載。 如果使用壓縮的JSON格式,您仍然會得到一個本機對象,唯一的區別在於使用數據的方式。 使用CSV,您應該編寫自己的解析器,但較小的尺寸可能值得。

您可以在此處了解JSON和自定義格式對性能的影響:

為Flickr建立快速的客戶端搜索

幾乎就像Thilo所寫的一樣,但是我會將它們存儲在樹形結構中。 每棵樹一個國家/州,每棵樹在不同的文件中:

    var data = { country: 'USA', states: [{name: 'CA', cities: [{'name':'Oakland', county: 'Alameda' }]
}] 
}

每個文件都在不同的文件中,並且在加載時它們應該相互覆蓋(即,所有文件都以var data=...開頭var data=...

如果將其存儲在數據庫/服務器端代碼中,請確保正在緩存那些文件,在緩存大量數據時沒有問題。

由於無論情況如何,要求似乎都是javascript,因此請使用JSON。 如果您不想將所有內容存儲在客戶端,請考慮調用僅返回所需數據為JSON格式的Web服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM