c# - jtoken - Cómo agregar el objeto Jarray en JObject
newtonsoft json documentation (1)
¿Cómo agregar JArray
en JObject
? jarrayObj
una excepción al cambiar el jarrayObj
en JObject
.
parameterNames = "Test1,Test2,Test3";
JArray jarrayObj = new JArray();
foreach (string parameterName in parameterNames)
{
jarrayObj.Add(parameterName);
}
JObject ObjDelParams = new JObject();
ObjDelParams["_delete"] = jarrayObj;
JObject UpdateAccProfile = new JObject(
ObjDelParams,
new JProperty("birthday", txtBday),
new JProperty("email", txtemail))
Necesito salida en esta forma:
{
"_delete": ["Test1","Test2","Test3"],
"birthday":"2011-05-06",
"email":"[email protected]"
}
Veo dos problemas con su código cuando lo publicó.
-
parameterNames
necesita ser una matriz de cadenas, no solo una cadena con comas. - No puede agregar un
JArray
directamente aJObject
; tienes que ponerlo enJProperty
y agregarlo aJObject
, tal como lo haces con las propiedades de "cumpleaños" y "correo electrónico".
Código corregido:
string[] parameterNames = new string[] { "Test1", "Test2", "Test3" };
JArray jarrayObj = new JArray();
foreach (string parameterName in parameterNames)
{
jarrayObj.Add(parameterName);
}
string txtBday = "2011-05-06";
string txtemail = "[email protected]";
JObject UpdateAccProfile = new JObject(
new JProperty("_delete", jarrayObj),
new JProperty("birthday", txtBday),
new JProperty("email", txtemail));
Console.WriteLine(UpdateAccProfile.ToString());
Salida:
{
"_delete": [
"Test1",
"Test2",
"Test3"
],
"birthday": "2011-05-06",
"email": "[email protected]"
}
Además, para referencia futura, si obtiene una excepción en su código, es útil que diga en su pregunta cuál es la excepción, para que no tengamos que adivinar. Nos facilita ayudarlo.