簡體   English   中英

js-yaml -> 解析 ruby​​ 類型

[英]js-yaml -> Parse ruby types

我正在用 JavaScript 制作一個 Ruby 控制台,因此需要准確地將 Ruby 對象信息發送到渲染器進程。 我決定使用 YAML,因為在 Ruby 端使用 YAML 非常容易,並且包含所需的所有信息。 但我不斷收到錯誤。

拿下面的紅寶石:

[Test,Test.new].to_yaml

這將轉換為以下 YAML:

---
- !ruby/class 'Test'
- !ruby/object:Test {}

當我嘗試使用JS-YAML解析它時,我們收到以下錯誤:

unknown tag !<!ruby/class> at line 2, column 21:
    - !ruby/class 'Test'
                        ^

所以我希望這會發生,因為 JavaScript 中的 YAML 沒有 Ruby 類型! 我已經看到一種解決方案是創建新的 YAML 類型來處理這些數據:

var RubyClassType = new jsyaml.Type('!ruby/class', {
  kind: 'class'
});

但是,在理想的世界中,我不必定義每個單獨的類型。 在理想的世界中,所有未知類型都將被視為相同(例如作為 yaml 序列),否則 ruby​​ 不會首先生成奇怪的 ruby​​ 類型。 我可以在不必在 JavaScript 中定義每個 Ruby 類型的情況下解決這個問題嗎?

看起來這可以在 JS-YAML 中處理如下: handle_unknown_types.js

不會接受這個作為答案,因為 ruby​​-first 解決方案會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM