gpt4 book ai didi

c# - 反序列化由javascript传递给c#的json

转载 作者:行者123 更新时间:2023-12-02 19:16:24 25 4
gpt4 key购买 nike

我目前正在尝试以这种方式反序列化由 javascript 处理的 json:

window.external.handlemessage(json);

它是由 C# 处理的,如下所示:

   public void handlemessage(string json)
{
JavaScriptSerializer deserializer = new JavaScriptSerializer();

Dictionary<string, object> deserializedDictionary1 = (Dictionary<string, object>)deserializer.Deserialize(json, typeof(object));
Dictionary<string, object> deserializedDictionary2 = deserializer.Deserialize<Dictionary<string, object>>(json);
object objDeserialized = deserializer.DeserializeObject(json);

}

例如,传递可以很好地处理纯文本,但不能处理 json..

我已经尝试了几种方法,例如我在handlemessage中提供的反序列化示例,但json基本上返回无效。我尝试过的其他几个例子也没有做到这一点。

我尝试用java反序列化json并再次序列化它但没有结果(以防有一些缺陷)。

我还尝试在不知道 json 结构的情况下反序列化数据。

是否可以通过 javascript 传递 json 并使用 c# 对其进行反序列化?

最佳答案

Also Im trying to deserialize the data without knowing the json structure.

为此,您想使用 C# 的 dynamic 类型:

JavaScriptSerializer js = new JavaScriptSerializer();
dynamic v = js.Deserialize<dynamic>("{\"text\" : \"hi\"}");

事实上,您可以从这里开始获取所有数据,直到您了解对象是如何映射的。

关于c# - 反序列化由javascript传递给c#的json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com