我正在爲Minecraft創建一個啓動器。我有一個問題,我的啓動程序使用json文件來加載和檢查文件。我怎樣才能從這個json(例子)添加字符串到AssetsList? https://s3.amazonaws.com/Minecraft.Download/indexes/1.8.jsonVB.NET如何解析和添加結果到JSON文件的列表(字符串)?
我的代碼,如果它可以幫助你瞭解我(我使用Newtonsoft.json解析JSON):
的MCAssets類:
Public Class MCAssets
Public hash As String
End Class
名單:
Public AssetsList As New List(Of String)
獲取資產的功能:
Public Async Function GetAssets() As Task
If Not Directory.Exists(Root + "\assets\indexes") Then
Directory.CreateDirectory(Root + "\assets\indexes")
End If
Dim client = New WebClient()
Await client.DownloadFileTaskAsync(New Uri(String.Format("http://s3.amazonaws.com/Minecraft.Download/indexes/{0}.json", AssetIndex)), String.Format(Root + "\assets\indexes\{0}.json", AssetIndex))
Dim reader As New StreamReader(Root + "\assets\indexes\" + AssetIndex + ".json")
Dim assets As String = reader.ReadToEnd()
reader.Close()
Dim jsonresult = JsonConvert.DeserializeObject(Of Object)(assets)
For Each i In jsonresult("objects").Children()
AssetsList.Add(i.ToObject(Of MCAssets).hash)
Next
End Function
如果你想知道更多關於我的世界資產,請訪問此:https://github.com/tomsik68/mclauncher-api/wiki/Minecraft-1.6-resources
提供的代碼段的問題究竟是什麼?什麼/不按預期工作? – EWit
什麼異常將被處理?你能否處理它並向我們展示實際出錯的堆棧軌跡? – EWit
你確定你通過了正確的Uri嗎?因爲,在我的眼中,新的http://s3.amazonaws.com/Minecraft.Download/indexes/「+ AssetIndex +」/「+ AssetIndex +」.json「'與您的示例鏈接不匹配。 – user3473830