Tengo un vb.net como el siguiente:
Public Shared Function GetCountries() Dim lCheckOutManager As CheckOutManager = CType(HttpContext.Current.Session("CHECKOUT_MANAGER"), CheckOutManager) Dim dataResult = lCheckOutManager.getCountries() Return JsonConvert.SerializeObject(dataResult, Formatting.Indented) End FunctionQue devuelve un objeto Json a javascript como el siguiente:
[ { "ID":12, "NAME":"Canada", "INCOTERM":3 }, { "ID":60, "NAME":"United States", "INCOTERM":3 } ]Y como necesito unir dos json en la respuesta y poder acceder a ellos por separado, hice una pequeña modificación a mi método de esta manera:
Public Shared Function GetCountries() Dim lCheckOutManager As CheckOutManager = CType(HttpContext.Current.Session("CHECKOUT_MANAGER"), CheckOutManager) Dim dataResult = lCheckOutManager.getCountries() Dim strDataResult As String = "{Countries:" & JsonConvert.SerializeObject(dataResult, Formatting.Indented) & "}" Return JsonConvert.SerializeObject(strDataResult, Formatting.Indented) End FunctionEntonces puedo identificar el primer json por el nodo "Países" (y luego concatenaré el segundo JSON), así obtengo un json como el siguiente:
{ "Countries":[ { "ID":12, "NAME":"Canada", "INCOTERM":3 }, { "ID":60, "NAME":"United States", "INCOTERM":3 } ] }Pero todos mis intentos de recuperar el nodo "Países" son
siendo fracasado. He intentado:
JSON.parse(resultados[0].d).Países, JSON.parse(resultados[0].d)["Países"], JSON.parse(resultados[0].d)[0], Object.keys( JSON.parse(resultados[0].d))[0] pero ninguno de ellos funciona, ya que terminan en cadenas indefinidas o vacías.
¿Alguna ayuda?