2011-05-03 3 views
0

이것은 주어진 URL을 사용하여 데이터를 전송해야하는 JSON 문자열입니다.vb.net 데이터를 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":"[email protected]", 
     "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을 사용하여 데이터를 보내려고했습니다. 둘 다 실패했습니다. 내가 어떻게 할 수 있니?

답변

1

예제의 속성 이름과 동일한 개체를 만들려면 DataContractDataMember 특성을 사용하여 직렬화를 표시하십시오.

그런 다음 JavaScriptSerializer을 사용하여 개체를 JSON으로 직렬화하십시오.

관리 코드에서 JSON (JavaScript Object Notation)을 사용하려는 경우 클래스를 사용할 수 있습니다.

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 지금 당신은 당신의 더 큰 JSON 문자열로 CONCAT 할 수 있어야한다 "id":"5","owner_id":"0","status":"unassigned" 보유하고 있습니다.

관련 문제