将vb.net数据转换为json字符串并将其发送到特定的URL

时间:2011-05-03 19:00:25

标签: vb.net string json

这是JSON字符串,需要使用给定的URL发送数据。

$jsonstr = '{"data":
     [{
      "id":"5",
      "owner_id":"0",
      "status":"unassigned",
      "first_name":"Test",
      "last_name":"IS",
      "tobacco_user":"",
      "date_of_birth":"",
      "age":"",
      "gender":"",
      "email":"lb@you.com",
      "zip":"",
      "phone":"(210)629-2560",
      "phone_type":"cell",
      "phone_alt":"",
      "phone_alt_type":"",
      "product_msip":"",
      "product_pdp":"",
      "product_sdhv":""
        },

我正在使用VB.net,我需要使用VB.net创建此字符串。我尝试使用namevaluecollection并进行POST。我也尝试使用GET创建一个字符串并发送数据。都失败了。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

创建一个对象,其属性名称与示例中的属性名称相同,请使用DataContractDataMember属性标记序列化。

然后使用JavaScriptSerializer将对象序列化为JSON。

  

如果要在托管代码中使用JavaScript Object Notation(JSON),可以使用该类。

答案 1 :(得分:0)

如果您不想构建@Oded建议的实际类,可以将它作为字符串一起破解。正如你所说的那样,我通常使用NameValueCollection。

    ''//Setup some values
    Dim NVC As New NameValueCollection()
    NVC.Add("id", "5")
    NVC.Add("owner_id", "0")
    NVC.Add("status", "unassigned")

    ''//Convert to string
    Dim Pairs As New List(Of String)
    For Each N As String In NVC.Keys
        Pairs.Add(String.Format("""{0}"":""{1}""", N.Replace("""", "\"""), NVC(N).Replace("""", "\""")))
    Next
    Dim S = Join(Pairs.ToArray(), ",")

S现在拥有"id":"5","owner_id":"0","status":"unassigned",您应该可以将其连接到更大的JSON字符串中。