我有一个JSON,我想在我的Unity C#应用程序中使用,其中一些属性被重载

我有一个JSON,我想在我的Unity C#应用程序中使用,其中一些属性被重载,c#,json,C#,Json,这里有一个简化的例子。我想引入JSON数据,其中有以下选项: { "cost": 5 } 或 现在我使用的是JsonUtility.FromJson,它迫使我选择一种类型。我愿意将一种格式转换为另一种格式,因此{“cost:5}可以变成: class MyObject { MyEntry cost = new MyEntry { @base = 5 }; } 有没有办法使用JsonUtility或其他解析器来实现这一点?如果您不知道或无法保证对象布局,那么您必须使

这里有一个简化的例子。我想引入JSON数据,其中有以下选项:

{
  "cost": 5
}

现在我使用的是
JsonUtility.FromJson
,它迫使我选择一种类型。我愿意将一种格式转换为另一种格式,因此
{“cost:5}
可以变成:

class MyObject
{
  MyEntry cost = new MyEntry { @base = 5 };
}

有没有办法使用
JsonUtility
或其他解析器来实现这一点?

如果您不知道或无法保证对象布局,那么您必须使用动态模式

var parsed = JObject.Parse(jsonString)
从这里,您可以调用Value来尝试获取数据

var data = json.Value<string>("data")
// or
var data = json.Value<MyEntry>("data")
var data=json.Value(“数据”)
//或
var data=json.Value(“数据”)

这应该可以让您开始了。

这是指来自的作业对象吗?有没有一种方法可以在没有这个框架的情况下实现,或者这是推荐的?啊,是的。我不记得看到过内置json的“动态”json功能。
var data = json.Value<string>("data")
// or
var data = json.Value<MyEntry>("data")