小编kar*_*los的帖子

如何按jq中的键和键值对json文件进行排序

我们正在使用Pentaho CTools库构建一个网站,该库具有一个图形仪表板编辑器,可以为仪表板的一部分写出JSON格式的文件.

我想在签入git之前对这些文件应用转换,以便按键对它们进行排序,然后按某些键的值进行排序.目的是使diff变得更容易,因为编辑器习惯重新排列所有json字段.

例如,我们可能会有这样的事情:

{
  "components": {
    "rows": [
      {
        "id": "CHARTS",
        "name": "Charts",
        "parent": "UnIqEiD",
        "properties": [
          {
            "name": "Group",
            "type": "Label",
            "value": "Charts"
          }
        ],
        "type": "Label",
        "typeDesc": "<i>Group</i>"
      },
      {
        "id": "kjalajsdjf",
        "meta_cdwSupport": "true",
        "parent": "CHARTS",
        "properties": [
          {
            "name": "name",
            "type": "Id",
            "value": "Value1"
          },
          {
            "name": "title",
            "type": "String",
            "value": "Value2"
          },
          {
            "name": "listeners",
            "type": "Listeners",
            "value": "[]"
          },
...
Run Code Online (Sandbox Code Playgroud)

我们能够jq --sort-keys(http://stedolan.github.io/jq/)对所有键进行排序,但我很难找到如何使用该sort_by函数然后通过某些键的值对某些特定元素进行排序(所以,在上面的例子中,例如排序properties.name.任何想法?

git sorting json jq

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

事实上,在github中将repo标记为fork

我们有一个项目,主要是通过复制/粘贴方法分解.但是回购之间仍然存在重大的重叠.

是否可以追溯性地将此fork标记为github的fork,以便比较和pull请求等函数能做正确的事情?

注意:我尝试了下面的"hack",重新分叉,克隆fork,复制"forked"内容,然后git add/commit/push.但是,原始"fork"中的文件历史记录丢失了,并且分支不会过来.

git github

14
推荐指数
2
解决办法
1909
查看次数

标签 统计

git ×2

github ×1

jq ×1

json ×1

sorting ×1