如何将JSON响应转换为数组JavaScript

发布于 2025-02-07 14:50:30 字数 1411 浏览 0 评论 0原文

我有来自API的JSON响应:

[
{
"obj_Id": 66,
"obj_Nombre": "mnu_mantenimiento_de_unidades",
"obj_Descripcion": "Menu de acceso a Mantenimiento de Unidades"
},
{
"obj_Id": 67,
"obj_Nombre": "mnu_vehiculos_en_reparacion",
"obj_Descripcion": "Menu de acceso a Reparacion de Unidades"
},
{
"obj_Id": 68,
"obj_Nombre": "mnu_RTO",
"obj_Descripcion": "Menu de acceso a RTO"
}
]   

我有此功能来提出请求并转换响应:

async obtenerPermisos() {
      var respuesta = "";
    
      var obj = {
        idUsuario: JSON.parse(sessionStorage.getItem("Codigo")),
        contraseña: this.passwordEncriptado,
      };

      this.url = this.urlBase + "usuario/obtenerPermisos";

      respuesta = await this.$http.post(this.url, obj).then((response) => {
        const respuesta1 = JSON.parse(respuesta);
        sessionStorage.setItem("Permisos", respuesta1);
        response.data;
      });

      console.log("Los permisos del usuario son: ");
      console.log(respuesta);
      console.log("El tipo de parametro es: " + typeof respuesta);

      
      sessionStorage.setItem("Permisos", respuesta);
      this.$router.push({ name: "sideBar" });
      location.reload();
    },

但是我得到此错误:

“在此处输入映像”

我该如何解决?

I have this json response from a api:

[
{
"obj_Id": 66,
"obj_Nombre": "mnu_mantenimiento_de_unidades",
"obj_Descripcion": "Menu de acceso a Mantenimiento de Unidades"
},
{
"obj_Id": 67,
"obj_Nombre": "mnu_vehiculos_en_reparacion",
"obj_Descripcion": "Menu de acceso a Reparacion de Unidades"
},
{
"obj_Id": 68,
"obj_Nombre": "mnu_RTO",
"obj_Descripcion": "Menu de acceso a RTO"
}
]   

I have this function to make the request and convert the response:

async obtenerPermisos() {
      var respuesta = "";
    
      var obj = {
        idUsuario: JSON.parse(sessionStorage.getItem("Codigo")),
        contraseña: this.passwordEncriptado,
      };

      this.url = this.urlBase + "usuario/obtenerPermisos";

      respuesta = await this.$http.post(this.url, obj).then((response) => {
        const respuesta1 = JSON.parse(respuesta);
        sessionStorage.setItem("Permisos", respuesta1);
        response.data;
      });

      console.log("Los permisos del usuario son: ");
      console.log(respuesta);
      console.log("El tipo de parametro es: " + typeof respuesta);

      
      sessionStorage.setItem("Permisos", respuesta);
      this.$router.push({ name: "sideBar" });
      location.reload();
    },

but i get this error:

enter image description here

how can i resolve it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月隐月明月朦胧 2025-02-14 14:50:30

返回的数据不会传递给json.parse()

// Wrong implementation
const respuesta1 = JSON.parse(respuesta);

// Correct implementation
const respuesta1 = JSON.parse(response.data);

The data being returned is not being passed to JSON.parse()

// Wrong implementation
const respuesta1 = JSON.parse(respuesta);

// Correct implementation
const respuesta1 = JSON.parse(response.data);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文