我正在使用一个使用客户端框架(VueJS)的ASP.NET Core MVC项目。它不是一个SPA,而是一个多SPA解决方案,每个控制器都可以拥有自己的小客户端应用程序。
除了一件事,一切都很好。我尝试通过直接在ASP.NET视图文件中将ASP.NET模型序列化为json / bson来向客户端提供初始数据。
当我使用JSON格式时,它可以正常工作:
<script>
var ServerModel = @Json.Serialize(Model);
</script>
这会将整个模型作为纯文本呈现到html源代码中。现在我尝试使用BSON格式对其进行编码。在服务器端,我使用了提供BSON序列化器功能的Newtonsoft库: http://www.newtonsoft.com/json/help/html/SerializeToBson.htm
如何使用客户端javascript解码BSON字符串?我找到了bson npm包:https://www.npmjs.com/package/bson。但它似乎使用不同的编码/解码类型,并且不会识别由Newtonsoft lib编码的bson字符串。
Newtonsoft lib生成base64字符串:Convert.ToBase64String(ms.ToArray());
虽然bson npm包接受Uint8Array:var doc_2 = bson.deserialize(data);
如何将服务器端模型编码为可由客户端js解码的BSON字符串?