Προς το περιεχόμενο

Data from json file, using Python


mikebol

Προτεινόμενες αναρτήσεις

Καλησπερα.

Προσπαθω να τραβηξω καποια δεδομένα, τα οποια ειναι σε μορφη json. και αντιμετωπιζω το εξης προβλημα. Οταν οι οντοτητες εχουν [ ] δεν μπορω να εχω προσβαση στο περιεχομενο τους (δεν εχω δουλεψει ποτε με αρχεια json ξανα), ενω οταν ειναι με { } μπορω να τα δω κανονικα.

Περιεχομενο αρχειου json.

"fields":{
    "status":{  
         "self":"BLABLA",
         "description":"MY DESCRIPTION",
         "iconUrl":"BLABLA",
         "name":"Feedback Requested (Status Under Investigation)",
         "id":"1080AAA",
         "statusCategory":{  
            "self":"BLABLA",
            "id":2,
            "key":"new",
            "colorName":"blue-gray",
            "name":"To Do"
    }
       "completedCycles":[  
            {  
               "remainingTime":{  
                  "millis":42757515,
                  "friendly":"11h 52m"
               }
            }
         ]
  }

 

Python code:

print(issue.fields.status.description) # returns "My description"

 

print(type(issue.fields.customfield_11103.completedCycles)) # returns <class 'list'>
print(issue.fields.completedCycles.remainingTime)  # AttributeError: 'list' object has no attribute 'remainingTime'
print(issue.fields.completedCycles['remainingTime']) # TypeError: list indices must be integers or slices, not str
temp = issue.fields.completedCycles 

for item in temp:
    print(temp.index(item)) # returns 0 (1 line)

Ο στόχος είναι να τραβήξω τo remainingTime

Αν χρειάζεστε κάτι άλλο μου λέτε.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το [] σημαινει οτι ειναι μια λιστα απο {} αντικειμενα. Οποτε για να τραβηξεις το remainingTime θα πρεπει να κανεις ενα iteration στην λιστα completedCycles οπως σωστα εχεις κανει στο τελος. Ομως θα πρεπει να αλλαξεις το print και να τυπώσεις το item.remainingTime αφου το item ειναι ενα {} αντικειμενο με πεδίο το remainingTime. 

 

Ειμαι απο κινητο οποτε εδωσα μια απαντηση οσο πιο επεξηγηματικη γινοταν

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

6 ώρες πριν, Caiden είπε

Το [] σημαινει οτι ειναι μια λιστα απο {} αντικειμενα. Οποτε για να τραβηξεις το remainingTime θα πρεπει να κανεις ενα iteration στην λιστα completedCycles οπως σωστα εχεις κανει στο τελος. Ομως θα πρεπει να αλλαξεις το print και να τυπώσεις το item.remainingTime αφου το item ειναι ενα {} αντικειμενο με πεδίο το remainingTime. 

Ειμαι απο κινητο οποτε εδωσα μια απαντηση οσο πιο επεξηγηματικη γινοταν

Ευχαριστώ για την απαντηση. Δυστυχώς ούτε αυτό δουλεψε.

 

temp = issue.fields.completedCycles  # Time remaining to breached

for item in temp:
    print(temp.index(item.remainingTime))  # ValueError: <class ' '> is not in list
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τι είναι το issue και πως το παίρνεις από το json file; Κάνεις το dict object;

Τεσπα τo completedCycles είναι κλειδί με τιμή λιστα, οπότε για να πάρεις τις τιμές του θα ζητήσεις completedCycles[0] και αυτό τώρα είναι dict και μπορείς να πάρεις την τιμή του με ['remainingTime']. Όλο μαζί issue.fields.completedCycles[0]['remainingTime'].

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...