我看到一个JsonFX Deserialize语句使用了一个我找不到的含义的参数:
JsonFx.Json.JsonReader.Deserialize<TOTmapData>(map.text)
我知道TOTmapData是一个类,但是什么是(map.text)?那是演员?
我用谷歌搜索了它,发现了最后一个参数的许多不同的例子 (回复),(testJson),(sMy)等等。但我找不到任何解释。
答案 0 :(得分:2)
Deserialize()
是一个功能。 map.text
只是传递给它的参数。您应该在某处具有名为map
的对象,并且此对象具有属性text
。您的函数Deserialize()
将对此文本执行某些操作。我猜这是一个字符串,可能是json的原始,你要将它反序列化为TOTmapData对象。
response), (testJson), (sMy)
只是其他变量的名称。
我能做到
string s = " *some json for TOTmapData* ".
var totmapdata = JsonFx.Json.JsonReader.Deserialize<TOTmapData>(s);
// here my "s" is a variable like your map.text;
答案 1 :(得分:0)
因为你cross-posted this on the Unity forums我也假设你正在使用JsonFx 1.x或它的一个分支。方法签名在JsonFx 2中也不同。
正确的答案取决于您使用的是哪种方法重载,但鉴于属性名称为map.text
,则很可能是需要string
的重载。在这种情况下,string
是要解析的JSON文本,T
结果是反序列化的对象图:
public static T Deserialize<T>(string value);
我不熟悉Unity足以知道环境是什么样的,但C#是一种静态类型的语言,所以任何体面的IDE都应该能够向你展示你很容易接口的API合约。至少,既然JsonFx是开源的,你也可以随时看看幕后发生了什么:
https://code.google.com/p/jsonfx/source/browse/trunk/JsonFx/JsonFx.Json/JsonReader.cs#938