2

I'm using HTML in YML yields [Object Object]

context:
      fieldLabel: |
                   <strong>
                       Some Bold Text
                   </strong> and now normal continued.

It's rendering as

context:
fieldLabel: ",[object Object], and now normal continued.↵&quot;

but I want my output to be

context: { fieldLabel: '<strong>\n    Some Bold Text\n</strong> and now normal continued.\n' },

My JS Code :

const tests = YAML.safeLoad(this.props.children,{json:true});
console.log("tests",...tests)

Console output :

context:
fieldLabel: ",[object Object], and now normal continued.↵&quot;

It is coming as [object Object] instead of <strong>\n Some Bold Text\n</strong>

4

1 回答 1

2

来自js-yaml 文档

safeLoad(字符串 [ ,选项 ])

推荐的加载方式。将字符串解析为单个 YAML 文档。返回一个 JavaScript 对象或在出错时抛出 YAMLException。默认情况下,不支持正则表达式、函数和未定义。此方法对于不受信任的数据是安全的。

当您在 yaml 中包含非安全代码(即 HTML)时,看起来 js-yaml 正在给您一个错误。如果您的 yaml 保证是安全的,那么您可以使用非安全加载load(),或者您可以修改代码的结构以更改存储在 yaml 中的内容和不存储的内容。

于 2018-12-15T22:29:19.637 回答