[英]How to deserialize in C# an unknown JSON string to some Object
我需要在C#中解析一个以JSON格式构建的字符串(确切地说,我需要解析Knockout数据绑定的绑定参数)。 我翻阅了html文件,然后提取了绑定。 我想修改每个绑定(逐个字符串),但是我很难解析字符串,因为我真的不知道每个绑定在哪里停止而另一个在哪里开始。
例如:
data-bind="text:'ggggg',event:{mouseover:x=function(){alert(1);return 'd,y'}}"
将导致以下字符串:
"text:'ggggg',event:{mouseover:x=function(){alert(1);return 'd,y'}}"
我想通过以下方式修改字符串:
newString= "text('gggg'),event(mouseover(x=function(){alert(1);return 'd,y'}))"
我发现最好的方法是通过JSON反序列化字符串,然后对我来说,更容易访问每个绑定元素。 我使用C#编写代码,但是由于我遍历html文件并且每个数据绑定都是不同的,并且可以包含不同数量和类型的属性,因此我希望拥有一个可以反序列化的通用对象。 我签出了DataContractJsonSerializer,但看不到它如何解决我的问题。 你能建议我最适合我的情况吗? 玛丽
您可以使用以下方法进行操作:
var obj = ko.bindingProvider.instance.getBindings(yourDomElement,
ko.contextFor(yourDomElement));
alert(JSON.stringify(obj));
然后使用obj做任何您想做的事情。
但是...嗯...不要!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.