-
אני שולח בקשת HTTP בקוד vba, ומקבל בתגובה מערך json המכיל למשל { "Status" : "Error" , "Message" : "שגיאה לא ידועה" }.
אני רוצה להקפיץ למשתמש רק את הודעת השגיאה (ולא את כל הjson).
כרגע אני משתמש בקוד זה
MsgBox "json", vbInformation, "כותרת החלון"
שמקפיץ הודעה אבל רושם את כל הjson.
ואני לא מצליח לגשת ל json.Erorr (להודעה עצמה).
ושאלתי היא,
האיך ניתן לגשת לאיבר בקובץ json בשביל לבודד את הודעת השגיאה משאר הjson.ניסתי לעשות כבר
json.Erorr
json("Erorr")
json.("Erorr")
וזה לא עבד. -
@מנחם אמר בגישה למערך פנימי בjson|קוד vba:
@צבי-ש תנסה את זה,
בהנחה שיש לך את הקוד שממיר JOSN
שמקורו כאןDim ResponseJson As Object Set ResponseJson = JsonConverter.ParseJson(Response.Content) Debug.Print ResponseJson("Message")
תוכל להסביר מה זה כל דבר בדוגמא?
מה תפקידה של כל שורה לעשות כדי שאני ילמד מה אני צריך לשנות כדי שזה יתאים אליי. -
@צבי-ש התשובה מתקבלת ב-JOSN, ויש להמירה למערך-אובייקט שמכיל מפתחות וערכים.
בשורה הראשונה מצהירים על אובייקט
בשורה השניה מתבצעת טעינת הערכים לאובייקט על ידי קריאה לפונקציה (*)JsonConverter.ParseJson
הכוכביות זה בעצם ה-JOSN שאתה ממיר
ובשורה האחרונה מתבצעת קריאה למפתח Message שבמקרה שלך הערך שלו הוא שגיאה לא ידועה -