NÃO CONSEGUI USAR O JSON !!!

MARCOS 27/04/2017 09:26:38
#473607
Bom dia, pessoal !
Tenho um projeto em VB.NET
Preciso enviar algumas informações para um servidor WEB ( Usando WebClient ).
Estas informações deverão ir em um objeto JSON.
Meu código para fazer o envio,por WebClient esta pronto. ( Tenho inclusive a URL para o envio)
O problema é o JSON

Eu fiz o download da biblioteca Newtownsoft JSON.
Instalei e já declarei a importação no meu projeto:

Imports Newtonsoft.Json

O caso:

Nunca trabalhei com esta biblioteca.
Preciso transformar meus dados em um objeto JSON, para serem enviados.

As informações são as seguintes : Matricula e idade de um setor da empresa ( 100 funcionários )

O problema:

Algum colega pode me explicar como eu teria de fazer para transformar este conjunto de dados em um objeto JSON?


Agradeço qualquer ajuda.


CLEVERTON 27/04/2017 11:12:54
#473613
o que acontece?
Qual a resposta do servidor ?
vc já tem algum código para nos mostrar ?
MARCOS 27/04/2017 12:35:56
#473616
Pessoal, o código que estou utilizando é o seguinte:

[ô]Declara variáveis
Dim Url As String
Dim Resposta As Byte

Try

[ô]Define Url
Url = [Ô]http://NumeroIPServidor:8080/webService/rest/MetodoDoServidor[Ô]

[ô]Cria instância de objeto [ô]WebClient[ô]
Dim cliente As New WebClient

[ô] Envia dados para URL, utilizando o método [ô]POST[ô] do protocolo [ô]Http[ô]
Resposta = cliente.UploadString(Url, [Ô]POST[Ô], ObjetoJSon)

[ô]Descarta objeto
cliente.Dispose()

Catch ex As Exception

Finally

Obs: Tenho que transformar os dados que mencionei no tópico, em um objeto JSON ( No código seria o ObjetoJSon )
KERPLUNK 27/04/2017 20:04:25
#473627
Resposta escolhida
JSON não é um [Ô]objeto[Ô], é como o XML, uma representação de um objeto mas em string. O que você precisa é desserializar essa string em um objeto. Copie essa string, cole no seu projeto com colar especial, selecionando [Ô]Paste JSON as classes[Ô]. Isso irá criar as classes necessárias para desserializar a string em um objeto. Então use o objeto JavaScriptSerializer, que está na DLL System.Web.Extensions(adicione essa referência ao seu projeto) e faça a desserialização:

Dim serializer As New JavaScriptSerializer()
Dim classe As SUA_CLASSE_GERADA_PELO_COLAR_ESPECIAL = serializer.Deserialize(Of SUA_CLASSE_GERADA_PELO_COLAR_ESPECIAL)(STRING_COM_O_JSON)
MARCOS 28/04/2017 13:18:09
#473636
Bom dia,Pessoal!
Kerplunk, no .NET o [Ô]WebClient[Ô] tem diversos métodos de [Ô]Upload[Ô] para
envio. Mas, nenhum deles esta aceitando enviar a propiedade [Ô]Classe[Ô] ( Que representa o JSon) de seu exemplo.
A exceção gerada informa que [Ô]Classe[Ô] não é uma String e portanto o método não a aceita como parâmetro.

Obs: Estou usando o método [Ô]UploadString[Ô] do Client . Tentei os outros métodos Upload de envio, mas nenhum aceita
o objeto JSon [Ô]Deserializado[Ô] como parâmetro para envio no WebClient.

Algum colega, sabe dizer o motivo???


KERPLUNK 28/04/2017 22:54:31
#473643
Para os métodos de envio string, serialize o objeto. Para os outros, mande o objeto como está. Quando digo objeto, me refiro à instância de classe.
Tópico encerrado , respostas não são mais permitidas