小编Mig*_*sco的帖子

如何在Java中将YAML转换为JSON?

我只想将包含yaml的字符串转换为另一个字符串,该字符串包含使用Java的corrseponding转换后的json.

例如,我有这个yaml的内容

---
paper:
   uuid: 8a8cbf60-e067-11e3-8b68-0800200c9a66
   name: On formally undecidable propositions of Principia Mathematica and related systems I.
   author: Kurt Gödel.
tags:
   - tag:
       uuid: 98fb0d90-e067-11e3-8b68-0800200c9a66
       name: Mathematics
   - tag:
       uuid: 3f25f680-e068-11e3-8b68-0800200c9a66
       name: Logic
Run Code Online (Sandbox Code Playgroud)

在名为yamlDoc的String中:

String yamlDoc = "---\npaper:\n   uuid: 8a... etc...";
Run Code Online (Sandbox Code Playgroud)

我想要一些方法,可以将yaml String转换为另一个带有相应json的String,即下面的代码

String yamlDoc = "---\npaper:\n   uuid: 8a... etc...";
String json = convertToJson(yamlDoc); // I want this method
System.out.println(json);
Run Code Online (Sandbox Code Playgroud)

应该打印:

{
    "paper": {
        "uuid": "8a8cbf60-e067-11e3-8b68-0800200c9a66",
        "name": "On formally undecidable propositions of Principia Mathematica and related systems I.",
        "author": …
Run Code Online (Sandbox Code Playgroud)

java json yaml

21
推荐指数
3
解决办法
3万
查看次数

何时使用嵌套控制器而不是angularjs中的服务?

我刚开始使用AngularJS,所以我不是专家.

我有一个div代表我的html视图的正确区域.在那个div我有一个控制器,即

<div class="rightContainer" ng-controller="rightContainerCtrl">...</div>
Run Code Online (Sandbox Code Playgroud)

在div中我有一个表,一个搜索区域等.该div中的每个区域都有自己的控制器,它看起来像这样:

<div class="rightContainer" ng-controller="rightContainerCtrl">
...
   <div class="search" ng-controller="searchCtrl">...</div>
...
   <div class="table" ng-controller="tableCtrl">...</div>

 </div>
Run Code Online (Sandbox Code Playgroud)

例如,搜索区域有自己的控制器,它是rightContainerCtrl的子节点,因为它需要改变父节点中的某些内容(rightContainerCtrl),但是rightContainer div正在增长,现在它很大,并且包含几个嵌套控制器.

我认为使用这个嵌套控制器在这个上下文中是不好的,因为所有嵌套控制器共享父作用域,并不是所有控制器都需要访问所有父作用域变量,所有控制器都是rightContainerCtrl的"囚犯",所以它们是与其父控制器高度耦合.

它看起来像一个上帝对象反模式(在这种情况下是上帝控制器),所以我认为不是使用嵌套控制器我可以重构我的代码以消除rightContainerCtrl控制器并改为使用服务(如在外观设计模式中),然后,控制器将使用该服务,而不是共享范围变量.

但由于我不是AngularJs的专家,我不确定我是对的还是离开这个父控制器更好,也许我错过了什么,所以我的问题是

何时更好地使用嵌套控制器(嵌套范围)以及何时更好地在angularjs中使用服务?

anti-patterns god-object angularjs

11
推荐指数
2
解决办法
3969
查看次数

标签 统计

angularjs ×1

anti-patterns ×1

god-object ×1

java ×1

json ×1

yaml ×1