我在Angular 2应用程序中编写了一个方法,在进行一个返回JSON的服务器调用之后,创建并返回一个类的可观察对象。但是,JSON的格式很差,所以我需要一个快速修复方法来编辑返回的JSON,然后再将其发送到< code >。json()方法,由于json格式不良,该方法当前抛出一个错误。
具体来说,我需要在JSON中找到一个错误的逗号,它出现在数组的右括号之后,并删除它。
我的问题
Observable.map函数到底应该是什么样的?我如何找到并操作实际的JSON字符串,然后将其一起发送?我对所有这些都不熟悉,所以如果有详细信息,将不胜感激。
getList(): Observable<Thing[]> {
let response = this.http.get('/api/get-things');
let fixed = response.map(____WHAT GOES HERE?_____);
return fixed.map((r: Response) =>r.json as Thing[]);
}
假设您有一个修复
方法:
const fix = (json: string) => {
// ...
}
你可以这样做:
const things: Observable<Thing[]> = this.http.get('/api/get-things')
.map(response => response.text())
.map(fix)
.map(fixedJson => JSON.parse(fixedJson) as Thing[])
然而,这是一个非常糟糕的主意。修复服务器端代码!
问题内容: 我有一个MySQL数据库。默认存储引擎为。 我想将其更改为。 我可以逐个表地更改它,但是我想一次更改它影响所有表。 如何更改数据库存储引擎?我尝试过,但似乎没有选择。 问题答案: 登录后,转到要更改的表,然后单击“操作”选项卡。在这里,您可以更改存储类型以及其他一些选项 在线文件
Swift中的静态变量是如何存储的? > 如果我从未调用func usesticvar(),会发生什么?这些变量是否已初始化? 如果我调用useStaticVar()然后再也不访问它们,会发生什么?应收账
问题内容: 我尝试将DECIMAL与(2,2)一起使用,但不允许我使用。 我只想存储一个数字,例如7.50或10.50。我需要将两个数字都保留在小数点后,但是当我刷新数据库时,它将值重置为0.99。有什么建议么? 问题答案: 声明的第一位数字是 总数 。您可能想要使用。这允许小数点前最多两位数,小数点后两位数。 文档:https : //dev.mysql.com/doc/refman/5.7/e
问题内容: 我在MySQL中有两个表。表人具有以下列: 该列可以包含null或字符串数组,例如(’apple’,’orange’,’banana’)或(’strawberry’)等。第二个表是Table Fruit,具有以下三列: 那么,我应该如何设计第一个表中的列,以便它可以容纳从第二个表中的列获取值的字符串数组?由于MySQL中没有数组数据类型,该怎么办? 问题答案: 正确的方法是在查询中
我在MySQL中有两个表。Table Person具有以下列: 水果列可以包含null或字符串数组,如('apple','orange','banana')或('草莓')等。第二个表是水果表,有以下三列: 那么,我应该如何设计第一个表中的水果列,以便它可以容纳从第二个表中的水果名称列获取值的字符串数组?既然MySQL中没有数组数据类型,我应该怎么做?
问题内容: 目前,我正在使用一项服务来执行操作,即从服务器检索数据,然后将数据存储在服务器本身上。 取而代之的是,我想将数据放入本地存储中,而不是将其存储在服务器上。我该怎么做呢? 问题答案: 这是我存储和检索到本地存储的代码的一部分。我使用广播事件来保存和恢复模型中的值。