我正在使用PowerUI和 Unity(+Jint 内置于 powerUI)来尝试在 C# 端读取来自 JavaScript 代码端的 JSON 数据。例如,我有一些 JavaScript 代码(作为简单字符串进入 Unity):
var a = importNamespace("Achdus");
a.Heeoolee.Domem({asd:function() {}});
并且正在调用的 C# 函数(当此 JavaScript 代码通过 PowerUI 和 Jint 等执行时)是这样的(我已经尝试获取函数中的 JSON 类型,即 Dictionary):
namespace Achdus
{
public static class Heeoolee
{
public static void Domem(object obj) {
if(obj is Dictionary<String, System.Object>) {
var json = obj as Dictionary<String, System.Object>;
//now how do I do something like "Jint.Native.Json.Stringify(json)" to get the JSON string?
}
}
}
变量“json”实际上是一个有效的字典,其中包含在字符串中指定的 JSON 值,我认为这是由 Jint 自动处理的。问题:我现在想将该 Dictionary 转换回一个简单的 JSON 字符串。我正在寻找执行此操作的默认 Jint stringify 函数,但我找不到将 Dictionary 作为选项的函数。
我不能简单地通过将“object”参数转换为字符串来获取字符串,因为该参数是从 JavaScript 通过 Jint 作为字典传入的。
可能有一个内置的 Jint 函数可以做到这一点,这将是可取的,我想要的只是转换的简单恢复(#rhyme)。
我寻找了关于将一般 C# 对象转换为 JSON 字符串的类似问题,但我不确定这种格式的字典是否可以实现。