Programim dhe zhvillim, javascript, python, php, html

Bibliotekë e pastër Javascript YAML që mbështet si shkarkimin ashtu edhe ngarkimin? [kopjuar]

A ekziston një gjë e tillë për YAML (aka YAML)?

Nëse kjo ka ekzistuar në një kohë, duhet të jetë zhdukur sepse kërkimi i fundit doli nada. Duket se ka shumë implementime që deponojnë vetëm nga Javascript në YAML, por kanë probleme në gjetjen e një zbatimi që mbështet si shkarkimin ashtu edhe ngarkesën.

A po punon dikush për një gjë të tillë ... apo kërkesa është thjesht shumë e ulët për këtë.



Përgjigjet:


1

Ndoshta versioni më i ri i js-yaml këtu:

http://github.com/visionmedia/js-yaml

24.02.2010
  • Sapo e provova këtë - ai mbështet një nëngrup të YAML, i cili është i padokumentuar. Autori më tha se e ka shkruar për një projekt specifik dhe nuk është një analizues i plotë në asnjë mënyrë. Provova disa nga dokumentet bazë YAML nga specifikimet yaml.org dhe dështon. Është shumë e vështirë për t'u përdorur nëse nuk e dini se çfarë nëngrupi përcakton. 19.04.2011
  • Sapo lëshova js-yaml tonë (për node.js) - portin javascript të analizuesit PyYAML (emetuesi do të jetë më vonë). Mund ta instaloni me npm install js-yaml. Ose ndihmoni në zhvillim: github.com/nodeca/js-yaml 02.11.2011

  • 2

    Sapo po kërkoja të njëjtën gjë, këtu është një Aparser YAML i bazuar në Javascript i shkruar nga Tj Holowaychukrefactormycode.com. Po e kopjoj këtu për t'u siguruar që të mos humbasë, duket se lidhja JsYaml në yaml.org është prishur për një kohë. Nuk e kam testuar akoma.

    ;(function(){
      YAML = {
        valueOf: function(token) {
          return eval('(' + token + ')')
        },
    
        tokenize: function(str) {
          return str.match(/(---|true|false|null|#(.*)|\[(.*?)\]|\{(.*?)\}|[\w\-]+:|-(.+)|\d+\.\d+|\d+|\n+)/g)
        },
    
        strip: function(str) {
          return str.replace(/^\s*|\s*$/, '')
        },
    
        parse: function(tokens) {
          var token, list = /^-(.*)/, key = /^([\w\-]+):/, stack = {}
          while (token = tokens.shift())
            if (token[0] == '#' || token == '---' || token == "\n") 
              continue
            else if (key.exec(token) && tokens[0] == "\n")
              stack[RegExp.$1] = this.parse(tokens)
            else if (key.exec(token))
              stack[RegExp.$1] = this.valueOf(tokens.shift())
            else if (list.exec(token))
              (stack.constructor == Array ?
                stack : (stack = [])).push(this.strip(RegExp.$1))
          return stack
        },
    
        eval: function(str) {
          return this.parse(this.tokenize(str))
        }
      }
    })()
    
    print(YAML.eval(readFile('config.yml')).toSource())
    
    
    
    
    // config.yml
    
    ---
      # just a comment
      list: ['foo', 'bar']
      hash: { foo: "bar", n: 1 }
      lib:
        - lib/cart.js
        - lib/cart.foo.js
      specs:
        - spec/cart.spec.js
        - spec/cart.foo.spec.js
        # - Commented out
      environments:
        all:
          options:
            failuresOnly: true
            verbose: false
    
    16.11.2009

    3

    E përditësoj këtë pyetje për të dhënë një zgjidhje tjetër për të cilën kam punuar vetë: https://github.com/jeremyfa/yaml.js

    Është një port i pastër javascript i Symfony YAML Component (YAML 1.2) dhe mbështet si ngarkimin ashtu edhe hedhjen. Shpresoj se kjo ndihmon.

    13.08.2012
  • Aty ku të tjerët dështuan në analizimin e grupeve dhe objekteve të mbivendosur, biblioteka jote funksionoi. Faleminderit për përpjekjet e zhvillimit! 20.09.2012

  • 4

    Nuk jam i sigurt se ku mund të gjenden "shumë zbatime" që mbështesin shkarkimin, por jo ngarkesën - në masën që JSON është një nëngrup i duhur i YAML 1.2, supozoj se mund të ketë shumë të tilla, por kjo nëngrup bën për YAML që nuk është veçanërisht miqësore për njerëzit, veçanërisht për strukturat komplekse të të dhënave. Shumica e lidhjeve që kam gjetur janë për forks github të JS-YAML që varen nga node.js dhe/ose ofrojnë vetëm analizues.

    yaml.js i Jeremy Faivre në bitbucket zbaton si dump ashtu edhe ngarkesën e YAML në javascript të pavarur ( E gjeta nga një përgjigje për një pyetje të lidhur me stackoverflow). Nuk mirëmbahet në mënyrë aktive, por duket se funksionon mirë për objektet YAML dhe/ose javascript mesatarisht komplekse.

    03.02.2012

    5

    yaml-javascript pretendon të jetë edhe dumper edhe analizues. Nuk u përpoq kurrë.

    09.01.2009
  • Për fat të keq, ai projekt nuk duket se i kalon pretendimet për dumping të prodhimit. Megjithatë faleminderit për përgjigjen. 09.01.2009

  • 6

    Ekziston edhe ky javascript-yaml-parser/

    Shikoni këtë pyetje: JavaScript YAML Parser, Diogo Costa thotë:
    Asnjë nga analizuesit YAML javascript të disponueshëm nuk i plotësoi nevojat e mia, kështu që unë zhvillova të miat: Është i disponueshëm këtu: http://code.google.com/p/javascript-yaml-parser/

    12.05.2011
    Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..