2013-02-09 110 views
0

我將外文字典從XML文檔轉換爲JSON。 我將不得不查找這些詞供以後使用,我想到了兩種格式化的可能性。JSON數據格式標準

第一:

{ 
    "grammar": { 
     "verb": { 
      "type": { 
       "irregular": { 
        "word": "etre" , ... 
       } 
      } 
     } 
    } 
} 

第二:

{ 
    "grammar": { 
     "verb": { 
      "type": { 
       "irregular": { 
        "et": { 
         "re": { 
          "word": "etre" 
         } , ... 
        } , ... 
       } 
      } 
     } 
    } 
} 

這將是更快的解析?

我想如果我把這個詞分解成兩個字母塊,我可以告訴解析器到哪裏去查找,而不是告訴它要查找哪個字段。

我正在使用Javascript,並且我將從用戶處取詞。在這種情況下,法語動詞是'要成爲'。然後,我在我的數據庫中找到該單詞,並將任何關聯的信息返回到其字段中找到的單詞。對於動詞,它將是一個共軛表。對於名詞,變形...等等。

回答

0

第一個解析速度會更快,因爲元素數量會減少。我認爲你應該考慮優化你的內存數據結構,而不是使數據存儲格式複雜化。構建你的json,使其最有意義,並且最容易使用。

在過度設計解決方案之前,對不同數據結構進行一些分析和測試。您可能想使用像sqlite這樣的數據庫來幫助您快速搜索大量數據。

這聽起來像你可能想用Trie來查找單詞。我不知道json是否是像trie樹結構數據的最佳位置。

+0

這對我來說似乎不直觀......這就是爲什麼我問這個問題的開始。在我看來,通過10次檢索50次總計要比通過250次檢索兩次快得多。這些搜索算法的bigO總是有n是項的數量。條款更少,更快的搜索?許多實例搜索都比單個慢速搜索更快。我在這裏誤解了一些東西。 ......請注意,這本字典中有500多個術語。 – Peregrine 2013-02-09 07:18:57

+0

你的問題是關於JSON,對嗎? JSON是一種序列化格式。如果您正在討論數據結構,那麼您需要指定您正在使用的語言,並根據您的目的使用該語言查找正確的數據結構。正確的結構取決於您的搜索是如何工作的(是自動完成還是全文字?) – Kekoa 2013-02-09 07:36:31

+0

僅限全文。我正在使用Javascript。我將接收用戶的一個單詞,並從數據庫中找到該單詞,並返回該字段的內容。語法信息。對於動詞,綴合表,用於名詞,變格。 – Peregrine 2013-02-09 07:41:43