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

Data from json file, using Python

Ερώτηση

Καλησπερα.

Προσπαθω να τραβηξω καποια δεδομένα, τα οποια ειναι σε μορφη 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

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

4 απαντήσεις σε αυτή την ερώτηση

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

  • 0

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

 

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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
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

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

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

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

 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Δεν είμαι σίγουρος ότι καταλαβαίνω γιατί, άλλα το παρακάτω έτρεξε.

 

temp_ack = issue.fields.completedCycles
for item in temp_ack:
    print(item.remainingTime.friendly)  # Returns 11h 52m

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

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

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

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.