0

我目前正在尝试从我们从 Web 服务器进入我们的应用程序的文件中过滤一些信息

信息当前的格式是:

{"ns2":"ns2.xxxx.xxx","ns1":"ns1.xxxx.xxx","classname":"com.logicboxes.foundation.sfnb.order.domorder.DomCno","privacyprotectedallowed":"true","isOrderSuspendedUponExpiry":"false","noOfNameServers":"2","isprivacyprotected":"true","classkey":"domcno","isImmediateReseller":"false"}

我们想做的是一块一块地提取信息,但我们试图从 NS2 和 NS1 字段开始

在我们有以下内容来格式化我们的数据之前,但它似乎无法改变它以使其过滤掉上面的字符串

Dim m As New Regex("(?<=<div id=""xxxx"">).+(?=</div>)")

我想知道这里是否有人可以给我一条下坡路

谢谢

4

1 回答 1

2

在您的情况下,您可以执行以下操作:

您的 JSON 结果为 .net 对象

string json = "{"ns2":"ns2.xxxx.xxx","ns1":"ns1.xxxx.xxx","classname":"com.logicboxes.foundation.sfnb.order.domorder.DomCno","privacyprotectedallowed":"true","isOrderSuspendedUponExpiry":"false","noOfNameServers":"2","isprivacyprotected":"true","classkey":"domcno","isImmediateReseller":"false"}";


public class Blob
{
      public string ns2 {get;set;}
      public string ns1 {get;set;}
      public string classname {get;set;}
      public bool privacyprotectedallowed {get;set;}
      public bool isOrderSuspendedUponExpiry{get;set;}
      public int noOfNameServers{get;set;}
      public bool isprivacyprotected{get;set;}
      public string classkey{get;set;}
      public bool isImmediateReseller{get;set;}
}

你可以使用这个库来转换它:http: //james.newtonking.com/projects/json-net.aspx

这是示例:

var Blob = JsonConvert.DeserializeObject<Blob>(json);

希望这可以帮助你!

我还建议您查看 ContractResolvers,以便您可以将 PascalCasing 用于您的属性。更多信息可以在这里找到

如果你不想创建 Blob 对象,你也可以试试这个:

JObject obj = JObject.Parse(json);
string ns1 = (string)obj["ns1"];
string ns2 = (string)obj["ns2"];
于 2012-07-24T13:50:14.697 回答