问题描述
我为SnakeYAML制作了to_yaml
函数,但它不打印YAML,而是打印!!Portfolio {}
。代码
fun to_yaml(v: Any): String {
val yaml = Yaml()
val writer = StringWriter()
yaml.dump(v,writer)
return writer.toString()
}
如何更新它,以便将任何对象打印为键/值集合,例如JS对象的JSON?
不需要专门为该课程添加注释吗?另外,理想情况下,避免打印类名,而仅打印对象的内容,就像JSON在JavaScript中的工作方式一样。
示例
import org.yaml.snakeyaml.Yaml
import java.io.StringWriter
fun to_yaml(v: Any): String {
val yaml = Yaml()
val writer = StringWriter()
yaml.dump(v,writer)
return writer.toString()
}
fun main() {
val portfolio = Portfolio(
"id1",listof(
PortfolioPosition(
1,1.0,PortfolioStockContract(
"MSFT"
)
)
)
)
println(to_yaml(portfolio))
}
class Portfolio(
val account_id: String,val positions: List<PortfolioPosition>
)
class PortfolioPosition (
val position: Int,val average_cost: Double,val contract: PortfolioContract
)
interface PortfolioContract
enum class ContractType { stock,option }
class PortfolioStockContract (
val symbol: String
) : PortfolioContract {
val type = ContractType.stock
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)