DevToys Web Pro iconDevToys Web Proብሎግ
ደረጃ ይስጡን፦
የአሳሽ ቅጥያን ይሞክሩ፦

JSONPath መፈተሻ

JSONPath አገላለጽ

JSON ግቤት

  • ውጤቶች

  • Loading editor...
    ምንም ውጤት አልተገኘም
    ሰዋሰውመግለጫ
    $የሥር ኦብጀክት ወይም አሬይ
    @የአሁኑ ኖድ (በማጣሪያ አገላለጾች ውስጥ ይጠቀማል)
    object.propertyበነጥብ ምልክት የተጻፈ ልጅ
    ['object'].['property']በቅንፍ ምልክት የተጻፈ ልጅ ወይም ልጆች
    ..propertyተደጋጋሚ መውረድ
    *ዋይልድካርድ። ሁሉንም ንጥሎች ይመርጣል
    [n]ከአሬይ ውስጥ የn-ኛውን ንጥል ይመርጣል
    [n1,n2]የn1 እና n2 የአሬይ ንጥሎችን ይመርጣል (ዩኒየን)
    [start:end:step]የአሬይ ቁራጭ ኦፕሬተር
    ?(expression)የማጣሪያ አገላለጽ
    (expression)የስክሪፕት አገላለጽ
    ቴክኒካዊ ዝርዝሮች

    የJSONPath ቴስተሩ እንዴት እንደሚሰራ

    መሣሪያው ምን ያደርጋል

    የJSONPath ሞካሪው እንደ XPath ለXML እንደሚሰራው ተመሳሳይ በJSONPath አገላለጾች ውስጥ የተደረገ የJSON ውሂብ መጠየቅ ያስችልዎታል። ይህ የjsonpath ሞካሪ እንደ JSONPath አገላለጽ ሞካሪ እና json መራጭ ይሰራል፣ እና አበልጻጊዎች ከውስብስብ የJSON መዋቅሮች ውስጥ የተወሰኑ እሴቶችን፣ አሬዎችን ወይም ነገሮችን ለማውጣት ይረዳቸዋል። በመስመር ላይ jsonpath ማሞከር ሲፈልጉ ይህ መሣሪያ የሚዛመዱ ሁሉንም እሴቶች እና መንገዶቻቸውን ያሳያል። የJSONPath ሰነድ አገባብን ይደግፋል፣ የነጥብ መጻፊያ ( $.store.book)፣ የቅንፍ መጻፊያ ( $['store']['book'])፣ ዋይልድካርዶች ( $..*)፣ የአሬ መቁረጥ (slicing) እና የማጣሪያ አገላለጾችን ጨምሮ። ይህ መሣሪያ jsonpath-plus ስርዓተ-ትርጉም (semantics) ይከተላል፤ የJSONPath ትግበራዎች ይለያያሉ፣ ስለዚህ አገላለጽዎ በሌላ ቦታ እየሰራ እዚህ ካልሰራ የዲያሌክት ልዩነት ሊሆን ይችላል። የተዛመዱ እሴቶችንም የJSONPath መንገዶችንም በአንድ ላይ ያሳያል፣ ስለዚህ አገላለጾች በJSON መዋቅሮች ውስጥ እንዴት እንደሚጓዙ ለመረዳት ቀላል ያደርገዋል።

    የተለመዱ የገንቢ አጠቃቀም ሁኔታዎች

    አበልጻጊዎች ከAPI ምላሾች፣ ከኮንፊግሬሽን ፋይሎች ወይም ከውስብስብ የተደረገ የJSON ውሂብ መዋቅር ጋር ሲሰሩ የJSONPath ሞካሪዎችን ይጠቀማሉ። የJSONPath አገላለጽ ሞካሪ ከጥልቅ ውስጥ ያሉ ነገሮች የተወሰኑ መስኮችን ለማውጣት፣ አሬዎችን በpredicate ለማጣራት ወይም የተወሰነ ቁልፍ ሁሉንም መታየቶች ለማግኘት ይረዳል። ብዙ አበልጻጊዎች ከREST APIs የሚመጣ የJSON ውሂብ ለመጠየቅ፣ የሎግ ፋይሎችን ለመተንተን ወይም ውስብስብ የኮንፊግሬሽን ነገሮችን ለመመርመር የJSONPath ሞካሪዎችን ይጠቀማሉ። መሣሪያው የውሂብ ለውጦችን ሲያስተካክሉ ለማስተካከያ (debugging)፣ የAPI ምላሾችን ለማረጋገጥ ወይም ውስብስብ የJSON ስኪማዎችን ለመረዳት በጣም ጠቃሚ ነው። የJSONPath ጥያቄዎችን ከማስኬድ በፊት ለተሻለ ንባብ ቀላልነት የእርስዎን JSON በJSON Formatter ማቀናበር ሊፈልጉ ይችላሉ። ለኮንፊግሬሽን ፋይሎች ደግሞ JSON ↔ YAML Converter በቅርጸ-ቅርጽ መካከል ለመቀየር ይረዳል። የአሬ ውሂብን ሲመርመሩ JSON Array to Table መሣሪያው ውጤቶችን ወደ ሰንጠረዥ ቅርጽ ለመላክ ይችላል፣ ለቀላል ትንተና ይረዳል።

    የውሂብ ቅርጾች፣ አይነቶች ወይም ልዩነቶች

    JSONPath የJSON መዋቅሮችን ለመጓዝ ብዙ መንገዶችን ይሰጣል። መሣሪያው የሥር መራጭ ($)፣ የልጅ መራጮች (. ወይም [])፣ የዘር መራጮች ( ..)፣ የአሬ መለያ መስጠት ([0], [-1]) እና የአሬ መቁረጥ ( [0:3]) ይደግፋል። አበልጻጊዎች ብዙ ጊዜ የሚጠቀሙባቸው የተለመዱ የJSONPath አገላለጾች፦

    • $.items[*].id — ከitems አሬ ውስጥ ሁሉንም id መስኮች አውጣ
    • $..id— በማንኛውም የመደረጃ ውስጥ ያሉ ሁሉንም id መስኮች ፈልግ
    • $['key-with-dash'] — ልዩ ቁምፊዎች ያላቸውን ቁልፎች ድረስ ይድረሱ
    • $..book[?(@.price < 10)].title — መጽሐፎችን በዋጋ አጣርተው ርዕሶችን አውጡ

    እነዚህ አገላለጾች JSONPath የተደረጉ አሬዎችን እንዴት እንደሚጠይቅ፣ ነገሮችን በpredicate እንዴት እንደሚያጣራ እና ከውስብስብ መዋቅሮች ውስጥ የተወሰኑ መስኮችን እንዴት እንደሚያወጣ ያሳያሉ።

    የተለመዱ ስህተቶች እና የጠርዝ ሁኔታዎች

    አንድ የተለመደ ስህተት የJSONPath እና የJavaScript ነገር ንብረት መዳረሻን ማታለል ነው፣ ምክንያቱም JSONPath ለአሬ ማጣሪያ እና ለዋይልድካርዶች የተለየ አገባብ ይጠቀማል። ሌላ ጉዳይ የነጥብ መጻፊያን መቼ እንደሚጠቀሙ እና የቅንፍ መጻፊያን መቼ እንደሚጠቀሙ መረዳት ነው፤ የነጥብ መጻፊያ ለቀላል ቁልፎች ይሰራል፣ ነገር ግን ልዩ ቁምፊዎች ያላቸው ቁልፎች ሲኖሩ ወይም አገላለጾችን ሲጠቀሙ የቅንፍ መጻፊያ ያስፈልጋል። የአሬ መለያ መስጠት አስቸጋሪ ሊሆን ይችላል፤ እንደ [-1] ያሉ አሉታዊ መለያዎች የመጨረሻውን ንጥል ይጠቁማሉ፣ ነገር ግን ሁሉም የJSONPath ትግበራዎች ይህን አይደግፉም። የማጣሪያ አገላለጾች ትክክለኛ የንጽጽር ኦፕሬተሮችን መጠቀም እና የአሁኑን ንጥል በ @ መጠቀም አለባቸው። የዘር መራጮች (..) ከተፈለገው በላይ ንጥሎችን ካዛመዱ ያልተጠበቁ ውጤቶችን ሊመልሱ ይችላሉ። አበልጻጊዎች የJSONPath አገላለጾችን ባዶ አሬዎች፣ null እሴቶች እና በጣም ጥልቅ የተደረጉ ነገሮች ያሉ የጠርዝ ሁኔታዎችን ጨምሮ በተለያዩ የJSON መዋቅሮች ላይ መሞከር አለባቸው። አንዳንድ የJSONPath ትግበራዎች የጠርዝ ሁኔታዎችን በሚያስተናግዱበት መንገድ ላይ ትንሽ ልዩነቶች አሏቸው፣ ስለዚህ መሞከር አስፈላጊ ነው።

    ስህተቶች እና ማረጋገጫ

    ከJSONPath ጋር ሲሰሩ ብዙ የስህተት ሁኔታዎች ሊከሰቱ ይችላሉ። የማይሰራ የJSON ግቤት የJSONPath አገላለጽ ከመገምገሙ በፊት የመተንተን (parsing) ስህተት ያመጣል። የማይሰራ የJSONPath አገላለጾች በአገባብ ላይ ምን እንደተሳሳተ የሚገልጽ የስህተት መልዕክት ይመልሳሉ። አገላለጹ በJSON መዋቅር ውስጥ ምንም እሴት ካልዛመደ ባዶ ውጤቶች እንደ ባዶ አሬ ይመለሳሉ—ይህ መደበኛ ባህሪ ነው፣ ስህተት አይደለም። መሣሪያው የJSON አገባብንም የJSONPath አገላለጽ አገባብንም ያረጋግጣል፣ ለተበላሸ ግቤት ግልጽ የስህተት መልዕክቶችን ይሰጣል። የJSONPath አገላለጽዎ ትክክል ነው ነገር ግን ምንም ውጤት ካልመለሰ፣ አገላለጹ ከJSON ውሂብዎ መዋቅር ጋር ላይዛመድ ይችላል ወይም ውሂቡ የተጠበቁ መስኮችን ላይይዝ ይችላል።

    ይህን መሣሪያ ከኮድ ጋር መቼ መጠቀም እንደሚገባ

    ይህን የJSONPath ሞካሪ ለፈጣን ጥያቄ እድገት፣ ውስብስብ አገላለጾችን ለማስተካከያ (debugging) ወይም የJSON ውሂብ መዋቅሮችን ለመመርመር ይጠቀሙ። በተለይም ያልተለመዱ APIs ወይም ውስብስብ የተደረገ ውሂብ ጋር ሲሰሩ አገላለጾችን በኮድ ውስጥ ከመተግበር በፊት ለመሞከር ተስማሚ ነው። የሚታይ ግብረመልስ አገላለጾች ለምን እንደሚዛመዱ ወይም ለምን እንደማይዛመዱ ለመለየት ይረዳል። ለምርት ኮድ ውስጥ ውሂብን በብቃት ሊያስኬዱ የሚችሉ በመተግበሪያዎ ውስጥ የተዋሃዱ የJSONPath ላይብረሪዎችን ይጠቀሙ። የአሳሽ መሣሪያዎች በመስተጋብራዊ እድገት እና መመርመር ይበልጣሉ፣ ነገር ግን በኮድ ላይ የተመሠረቱ መፍትሄዎች አፈጻጸም፣ የአይነት ደህንነት (type safety) እና ከውሂብ ማቀናበሪያ ፓይፕላይኖች ጋር ውህደት ይሰጣሉ። ለትልቅ ውሂብ ስብስቦች ወይም ለከፍተኛ አፈጻጸም መተግበሪያዎች በፕሮግራሚንግ ቋንቋዎ ውስጥ ያሉ ተወላጅ የJSONPath ትግበራዎች ከአሳሽ-መሠረት መሣሪያዎች ይልቅ የተሻለ አፈጻጸም ይሰጣሉ።