преобразовать данные vb.net в строку json и отправить их по определенному URL - PullRequest
0 голосов
/ 03 мая 2011

это строка 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 ]

1 голос
/ 03 мая 2011

Создайте объект с именами свойств, которые идентичны именам в вашем примере, используйте атрибуты DataContract и DataMember, чтобы отметить сериализацию.

Затем используйте JavaScriptSerializer для сериализации объекта в JSON.

вы можете использовать этот класс, когда хотите работать с JavaScript Object Notation (JSON) в управляемом коде.

0 голосов
/ 04 мая 2011

Если вы не хотите создавать реальный класс, как рекомендовано @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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...