将XMLHTTPRequest读取为Scala.js中的Json

问题描述 投票:0回答:1

我正在使用Scala.js,想读取从后端获取的JSON。我的问题是,我不知道如何处理json响应。我发现的所有示例都使用JSON.toJson(xhr.responseText),但这仅在我得到一个String的情况下才有效(对吗?)我也不想解析对象中的JSON(在此示例中为Users)我使用Play-Framework中的Json lib。Json的示例:

[
    {
        "name": "User1",
        "age": 18
    },
    {
        "name": "User2",
        "age": 18
    },
    {
        "name": "User3",
        "age": 18
    }
]

我的代码

 val xhr = new dom.XMLHttpRequest()
    xhr.open("GET", backend + "/ROUTE")
    xhr.responseType="json"
    xhr.onload = { (e: dom.Event) =>
       println(xhr.response) 
       //What i want
       // for (user<-response) println(user("age"),user("name")) 
    }
    xhr.send()

输出为

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

我尝试过类似的事情

val js=Json.obj("users"->xhr.response)

依此类推。

我想我有一个误会,到底有多正确

 xhr.responseType="json"

有效,但无法弄清楚。

我知道我将如何在“正常”播放json("name")中执行此操作>

我正在使用Scala.js,想读取从后端获取的JSON。我的问题是,我不知道如何处理json响应。我发现的所有示例都使用JSON.toJson(xhr.responseText),但这仅是...

json scala playframework xmlhttprequest scala.js
1个回答
0
投票

使用responseType = "json"时,指示浏览器将响应解释为普通的Javascript对象。

© www.soinside.com 2019 - 2024. All rights reserved.