从python到C读取NumPy 4d int数组#

2024-06-01 22:01:38 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个用python编写的4D61x41x61x41numpy整数数组,我想在Unity中阅读它。哪种方法最好?我应该使用哪种数据格式

我尝试过使用JSON,但JSONUtility在读取它时遇到困难,因为它不是一个对象。你有什么建议

编辑:使用JSON时,我尝试了以下方法:

class TransitionClass
    {
        public List<List<List<List<int>>>> transitionMatrices = new List<List<List<List<int>>>>();
    }

TransitionClass transition;
        using (StreamReader r = new StreamReader(transitionJsonPath))
        {
            string json = r.ReadToEnd();
            transition = JsonUtility.FromJson<TransitionClass>(json);
        }

但是我得到了一个空列表返回

现在的JSON文件如下所示:

{"transitionMatrices":[[[[8,3,12,0,2,0,0,5 ... 2,4,1,0]]]]}

我甚至尝试过使用简单数组而不使用类,但得到了错误“JSON必须表示对象类型”


Tags: 对象方法jsonnew整数unity数组list
1条回答
网友
1楼 · 发布于 2024-06-01 22:01:38

如果将transitionMatrices更改为int [][][][],它将与c#中的内置JsonSerializer一起工作

        public void JsonTest()
        {
            var result = JsonSerializer.Deserialize<TransitionClass>(@"{""transitionMatrices"":[[[[8,3,12,0,2,0,0,5,4,1,0]]]]}");
        }

        public class TransitionClass
        {
            public int [][][][] transitionMatrices { get; set; }
        }

相关问题 更多 >