2012-02-15 17 views
1

我完全停留在如何開始解析PHP中的這些文件。這些是可變數量子陣列的某種數組。 https://developer.valvesoftware.com/wiki/KeyValues解析PHP中的閥門數據格式文件

示例文件。

"itembuilds" 

{ 

    "author"  "Valve" 
    "hero"   "npc_dota_hero_axe" 
    "Title"   "Recommended items for Axe" 
    "Items" 
    { 
     "#DOTA_Item_Build_Starting_Items" 
     { 
      "item" "item_stout_shield" 
      "item" "item_flask" 
      "item" "item_tango" 
      "item" "item_courier" 
     } 
     "#DOTA_Item_Build_Early_Game" 
     { 
      "item" "item_boots" 
      "item" "item_ring_of_health" 
      "item" "item_tango" 
      "item" "item_tango" 
     } 
     "#DOTA_Item_Build_Core_Items" 
     { 
      "item" "item_blink" 
      "item" "item_vanguard" 
     } 
     "#DOTA_Item_Build_Luxury" 
     { 
      "item" "item_heart" 
      "item" "item_blade_mail" 
     } 
    } 
} 

另一個示例文件。

"dota_shops" 

{ 

    "consumables" 
    { 
     "item"  "item_clarity" 
     "item"  "item_tango" 
     "item"  "item_flask" 
     "item"  "item_smoke_of_deceit" 
     "item"  "item_tpscroll" 
     "item"  "item_dust" 
     "item"  "item_courier" 
     "item"  "item_flying_courier" 
     "item"  "item_ward_observer" 
     "item"  "item_ward_sentry" 
     "item" "item_bottle"       
    } 
     "something" 
     { 
       "Key" "value" 
       "Key2" "value" 
     } 
} 
+0

我有一個[Java庫](https://github.com/DHager/hl2parse)解析它們,但顯然這不是直接對你有用......我只是告誡它看起來合法的價值觀也沒有被引用,並且可能存在轉義碼問題。 – Darien

回答

0

最新回答,但剛看到這個。問題中的數據採用(Valve Data Format)[https://developer.valvesoftware.com/wiki/KeyValues],也稱爲KeyValues格式,非常令人想起JSON。

大約一年前,我寫了這個腳本,可以將VDF數據轉換爲有效的JSON。您可以使用它一次並存儲生成的JSON,或者在您需要從VDF獲取JSON時隨時調用它。

https://gist.github.com/AlienHoboken/5571903

0

有一個網上一個我發現。 http://rossengeorgiev.github.io/vdf-parser/

回購有一個js和python的實現,它不應該太難以將它們移植到PHP。

+1

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – juliocesar