Convert JSON to YAML. Parsing JSON to YAML

前端 未结 6 816
南笙
南笙 2020-12-16 01:18

I\'m working with configuration files so I need to convert JSON to YAML. For example I have this JSON file:

{
  "foo": "bar",
  "baz&         


        
相关标签:
6条回答
  • 2020-12-16 01:32

    You can convert JSON to YAML with two lines of code in Jackson:

    import java.io.IOException;
    
    import com.fasterxml.jackson.core.JsonProcessingException;
    import com.fasterxml.jackson.databind.JsonNode;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
    
    public class Library {
    
        public String asYaml(String jsonString) throws JsonProcessingException, IOException {
            // parse JSON
            JsonNode jsonNodeTree = new ObjectMapper().readTree(jsonString);
            // save it as YAML
            String jsonAsYaml = new YAMLMapper().writeValueAsString(jsonNodeTree);
            return jsonAsYaml;
        }
    
    }
    

    You will need to add dependencies to Jackson Core, DataBind and DataFormat YAML. Below is a snippet for Gradle:

    compile 'com.fasterxml.jackson.core:jackson-core:2.8.6'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.8.6'
    compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.8.6'
    
    0 讨论(0)
  • 2020-12-16 01:34
    function yaml_validate {
      python -c 'import sys, yaml, json; yaml.safe_load(sys.stdin.read())'
    }
    
    function yaml2json {
      python -c 'import sys, yaml, json; print(json.dumps(yaml.safe_load(sys.stdin.read())))'
    }
    
    function yaml2json_pretty {
      python -c 'import sys, yaml, json; print(json.dumps(yaml.safe_load(sys.stdin.read()), indent=2, sort_keys=False))'
    }
    
    function json_validate {
      python -c 'import sys, yaml, json; json.loads(sys.stdin.read())'
    }
    
    function json2yaml {
      python -c 'import sys, yaml, json; print(yaml.dump(json.loads(sys.stdin.read())))'
    }
    

    More Bash tricks at http://github.com/frgomes/bash-scripts

    0 讨论(0)
  • 2020-12-16 01:34

    If you need convert JSONobject to yaml (string). you need. Firstly get json string, then map, after that you can convert to yaml. Here the code:

      // this is your json object
      JSONObject jsonobject = new JSONObject(map);
      // get json string
      String prettyJSONString = jsonobject.toString(4);
      // mapping
      Map<String,Object> map = (Map<String, Object>) yaml.load(prettyJSONString);
      // convert to yaml string (yaml formatted string)
      String output = yaml.dump(map2);
    
    0 讨论(0)
  • 2020-12-16 01:37

    http://jsontoyaml.com/

    this website may can help you. It can be used in Bash, JavaScript, JavaScript (browser only), Ruby, Python, Perl, Java..

    0 讨论(0)
  • 2020-12-16 01:39

    Here's a one liner for a file, suitable for sticking in a bash script. This should work on most default pythons on most systems:

    python -c 'import json; import yaml; print(yaml.dump(json.load(open("inputfile"))))'
    
    0 讨论(0)
  • 2020-12-16 01:51

    I'd suggest you consider Data Transformer (disclaimer - I'm its developer). It converts between JSON, YML, and other formats.

    You can get it from the Mac App Store or the Microsoft Store.

    0 讨论(0)
提交回复
热议问题