جداسازی متغیرهای جسون در بیسیک فور اندروید

سوال
{
    "Ok": true,
    "Result": [
        {
            "name": "طلای 18 عیار   750",
            "price": "21,117,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "20,875,000",
            "High": "21,219,000",
            "update": "۲۰ بهمن"
        },
        {
            "name": "طلای 18 عیار   740",
            "price": "20,838,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "20,597,000",
            "High": "20,936,000",
            "update": "۲۰ بهمن"
        },
        {
            "name": "طلای ۲۴ عیار",
            "price": "28,159,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "27,833,000",
            "High": "28,292,000",
            "update": "۲۰ بهمن"
        },
        {
            "name": "طلای دست دوم",
            "price": "20,838,010",
            "change": "(0%) 0",
            "percent": 0,
            "low": "20,596,560",
            "High": "20,935,960",
            "update": "۲۰ بهمن"
        },
        {
            "name": "آبشده نقدی",
            "price": "91,430,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "91,120,000",
            "High": "91,910,000",
            "update": "۲۰ بهمن"
        },
        {
            "name": "آبشده بنکداری ",
            "price": "91,520,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "90,470,000",
            "High": "91,960,000",
            "update": "۲۰ بهمن"
        },
        {
            "name": "آبشده کمتر از کیلو ",
            "price": "91,490,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "90,440,000",
            "High": "91,930,000",
            "update": "۲۰ بهمن"
        },
        {
            "name": "آبشده معاملاتی",
            "price": "88,800,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "88,400,000",
            "High": "94,370,000",
            "update": "۱۶ بهمن"
        },
        {
            "name": "مثقال طلا ",
            "price": "91,480,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "91,120,000",
            "High": "91,910,000",
            "update": "۲۰ بهمن"
        },
        {
            "name": "مثقال   بدون حباب",
            "price": "88,287,000",
            "change": "(0%) 0",
            "percent": 0,
            "low": "87,555,000",
            "High": "88,696,000",
            "update": "۲۰ بهمن"
        },
        {
            "name": "حباب آبشده",
            "price": "3,192,740",
            "change": "(0%) 0",
            "percent": 0,
            "low": "2,661,150",
            "High": "3,568,130",
            "update": "۲۰ بهمن"
        },
        {
            "name": "مثقال   بر مبنای سکه",
            "price": "108,854,830",
            "change": "(0%) 0",
            "percent": 0,
            "low": "107,287,020",
            "High": "108,868,080",
            "update": "۲۰ بهمن"
        }
    ]
}

 

سلام وقت بخیر  من فعلا به صورت موقت به این وبسرویس دسترسی دارم میخواستم بپرسم تو بیسیک فور چطور میشه هر کدوم رو جدا دیکد کرد؟ که مثلا در یک بخشش فقط مششخصات طلای 18 عیار 750 استخراج بشه؟؟

حل شد 0
, 2023-02-11T16:20:35+03:30 2 پاسخ کاربر تازه 0

پاسخ ها ( 2 )

    -1
    2023-02-12T01:13:39+03:30

    سلام.

    فکر کنم باید از RSS استفاده کنید

    1
    2023-02-13T19:34:38+03:30

    سلام دوست عزیز

    این الان یه آرایه است که شما دارید، ارایه رو باید داخل حلقه foreach بندازید و اون فیلدهایی که میخواید رو نشون بدید، وارد لینک زیر بشید:

    JSON Tree Example

    بعد کد Json ی که دارید رو داخلش paste کنید و دکمه parse رو بزنید تا کد بیسیک رو بهتون بده؛ کدی که بهتون میده به شکل زیر هست:

    Dim parser As JSONParser
    parser.Initialize(<text>)
    Dim jRoot As Map = parser.NextObject
    Dim Ok As String = jRoot.Get("Ok")
    Dim Result As List = jRoot.Get("Result")
    For Each colResult As Map In Result
     Dim High As String = colResult.Get("High")
     Dim low As String = colResult.Get("low")
     Dim price As String = colResult.Get("price")
     Dim change As String = colResult.Get("change")
     Dim name As String = colResult.Get("name")
     Dim update As String = colResult.Get("update")
     Dim percent As Int = colResult.Get("percent")
    Next

    الان تو کد بالا همه چی آمادست، فقط اون مقادیری که میخواید نشون بدید رو میتونید دریافت کنید.

    راهنمایی بیشتری خواستید تو سایت b4x سوال کاملی راجب به همین موضوع گذاشتند که کمک خوبی بهتون میکنه:

    https://www.b4x.com/android/forum/threads/loading-json-file-from-a-website-parsing-json-data-of-multiple-arrays.39457

    موفق باشید

    بهترین پاسخ

ارسال یک پاسخ