我陷入了這樣一種情況,即我的 json(來自我無法控制的來源)有一種不做任何事情的“中間人”陣列。
如果我修改 json,我可以得到值,但我很難過。
精簡 json 示例
"geopoly": {
"type": "Polygon",
"coordinates": [
[
[
-74.7,
40.72
],
[
-74.73,
40.71
]
]
]
}
問題
如何使用 Unity 將類似于此的 json 轉換為 ac# 物件JsonUtility.FromJson?
當前嘗試:用于決議的 c# 容器
[Serializable]
public struct GeoPoly
{
public string type;
public List<FloatList> coordinates;
}
[Serializable]
public class MiddleManList : List<FloatList> {}
[Serializable]
public class FloatList : List<float> {}
我可以正確看到“型別”,但“坐標”始終為[0]: Count = 0空,所以我不知道如何解決這個問題。
uj5u.com熱心網友回復:
你可以這樣使用它
var data = JsonUtility.FromJson<Root>(json);
添加根和坐標
[Serializable]
public class Root
{
public Geopoly geopoly {get; set;}
}
[Serializable]
public struct GeoPoly
{
public string type {get; set;}
public List<List<List<float>>> coordinates { get; set; }
}
并通過包裝在 {} 中修復 json
{
"geopoly": {
"type": "Polygon",
"coordinates": [
[
[
-74.7,
40.72
],
[
-74.73,
40.71
]
]
]
}
}
如果它不是 workig 仍然嘗試洗掉 {get; set;},某些版本的統一序列化程式不知道如何序列化屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/424497.html
