www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

Como en NewTonSoft especificar el esquema de la deserialización de la respuesta?

andrey71 2018-11-03 12:46:16

buen día a Todos!

Por favor, escribí una simple web de la api que devuelve la solicitud GET en forma de:

[
    "Шляпа",
    "Кепка"
]

Más adelante en el anexo, estoy tratando de medios Newtonsoft producir deserialización de la respuesta, pero no bajo un esquema de mi respuesta no es adecuado :( En el sitio web de Newtonsoft, en su amplio manuale, los ejemplos, pero no encontró nada...
¿Qué es esto de hacer?

En el ejemplo, haciendo asi :
string json2 = @"{['Шляпа','Кепка']}";
string[] fromJson = JsonConvert.DeserializeObject<string[]>(json2);


El error sale este: Invalid property identifier character: [. Path ", line 1, "position" 1.

Estaré encantado de cualquier consejo! Gracias!

mindtester 2018-11-03 19:52:37

en el futuro:
- se crea una instancia del objeto
- сериализуете en файлик
- ve y utiliza como ejemplo


andrey71 2018-11-03 22:42:11

mindtester, Gracias por el consejo! No ha pensado sobre esto.
Pero, la verdad, tiene un matiz. Por ejemplo, si :

Roles = new List<string>
    {
        "User",
        "Admin"
    }

durante la serialización da :
"Roles": 
[
     "User",
     "Admin"
]


Parece que se necesitan llaves... pero en mi caso, que sólo molestaban.


mindtester 2018-11-03 23:03:58

andrey71, aquí está, más lejos, más запутываете a sí mismos:
1 - no se debe confundir la sintaxis de lenguajes diferentes. en sharpa está, puede inicializar (pero no declarar) la matriz {}, y muchos otros tipos de pm List
2 - en json matrices se escriben en el [la]
3 - no se debe confundir la lista y la matriz de! "Roles":se produce precisamente por List upd no es muy newton soft en general intenta debajo de usted para entrar, busque en el sitio web de ejemplos con tipo de serialización (allí es muy fácil de navegar), en particular de las matrices a continuación:
... haga lo que intentaron desde el principio var test = new string[] {"str1", "str2"}; aquí se trata de una matriz, сериализуйте su especificando el tipo de string[] para ver el resultado. creo que debe coincidir la estructura, con lo que se espera en el api, y no debe contener el nombre de la variable


andrey71 2018-11-03 23:28:40

mindtester, Sobre los dos primeros puntos - totalmente de acuerdo con Usted! Sobre el tercer simplemente citó el ejemplo de su sitio web... no es muy acertado...List y la matriz por supuesto cosas diferentes...

He probado serializar la matriz, y sí, ha vuelto exactamente ese resultado, que me devuelva la api.

string[] golUbor = { "пилотка", "фуражка" };

string jsong = JsonConvert.SerializeObject(golUbor);

Console.WriteLine(jsong);


Gracias, lo que explica la!


Total answers: 1

kttotto 2018-11-03 12:50:25

Creo que el error en la barra de
string json2 = @"{['Шляпа','Кепка']}";
Todo lo que está en paréntesis es el objeto, sino que tiene la matriz. Pruebe
string json2 = @"['Шляпа','Кепка']";

andrey71 2018-11-03 12:57:19

Hurra! Lo que salió!
Gracias!


Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.