我正在尝试从下面的数据中匹配条件,以检查headers(data.headers)是否具有accept = application / xml,那么只有它才能以xml格式返回body(data.body)。
下面是数据集
[ { url: '/a',
status: '200',
headers: [ 'content-type=application/json', 'accept=application/json' ],
body: [ '{ name: Ant Man }' ] },
{ url: '/b',
status: '400',
headers: [ 'content-type=application/xml', 'accept=application/xml' ],
body: '<name>Spiderman</name>' } ]
所以我正在编写以下代码,以特定格式检查所有4个元素(URL,状态,标头,正文),并尝试如果标头具有accept = application / xml,那么它将正文转换为xml格式。
if (! _.isNil( map.url ) ) map.url = map.url[0]
if (! _.isNil( map.status ) ) map.status = map.status[0]
if (! _.isNil( map.body ) ) {
if (_.startsWith(map.body, '<')) map.body = map.body.join('\n')
}
if (! _.isNil(map.headers)) {
??
}
尽管上面的代码给了我正确的答案,但是无法想到标题后面的逻辑来提供正确的条件而不是数据。body应该以'<'开头,以证明其是xml数据。任何帮助和逻辑要点都是很明显的:-)
答案 0 :(得分:0)
这可以解决您的问题吗?
if (! _.isNil( map.header ) ) {
if (map.header.includes('accept=application/xml')) map.body = map.body.join('\n')
}