2017-03-22 76 views
1

我被賦予這個代碼來實現,以便我可以將它傳遞給API。問題在於,我作爲示例交給的代碼不是用PHP編寫的。我甚至不確定這是什麼編程語言。什麼是這個代碼的json輸出?

所以這是代碼:

if (check.Comps == null) 
    check.Comps = new Dictionary<decimal, CComp>(); 

check.Comps.Add(Convert.ToDecimal(Settings.CustomDiscount_CompID), new CComp() 
{ 
    CompID = Settings.CustomDiscount_CompID, 
    Amount = Math.Round(amount, 3), 
    Name = compName 
}); 

現在我對代碼的問題是,我不知道是執行的代碼,當JSON輸出會是什麼。

我試圖猜測它,我覺得這就是結果:

[Comps] => stdClass Object 
     (
      [CComp] => stdClass Object 
       (
        [CompID] => 10 
        [Name] => 50% discount 
        [Amount] => 30 
       ) 

     ) 

根據我談過,這是錯誤的人。這就是我的問題所在。有人可以告訴我,如果代碼執行json輸出。

道歉,如果我沒有正確解釋。讓我知道,如果有什麼不清楚,我會妥善回答。 您的幫助將不勝感激!謝謝! :)

+0

那是誰倒手在一個未知的語言神祕代碼的字節這個神祕高手? – CollinD

+0

看起來它是用C#編寫的,因爲命名約定 – mwieczorek

+0

@mwieczorek - 我也這麼認爲。我聽說它是​​用C#編寫的,但不確定。我只是想知道如果代碼將被執行,輸出是什麼。 – PinoyStackOverflower

回答

0

我必須寫一個答案正確的格式,但JSON會是這個樣子:

[ 
    { 
    "CompId": 10, 
    "Name": "50% Discount", 
    "Amount": 30 
    } 
] 

如果頂層對象具有(在這種情況下十進制)的關鍵:

{ 
    "3.14159": { 
    "CompId": 10, 
    "Name": "50% Discount", 
    "Amount": 30 
    } 
} 

請注意,即使每個鍵都是小數,JSON鍵必須是字符串。如果你需要像這樣使用它,你將不得不使用浮點數或雙精度浮點數。當然,在PHP中,你不必投射,但這是一個很好的習慣。

+0

謝謝你。 Comps和CComp鍵怎麼樣? – PinoyStackOverflower

+0

檢查Chester Cobus的答案 - 看起來他更瞭解C#及其輸出。 – mwieczorek

0

因爲這是正在使用C#Dictionary對象,該JSON會是這個樣子:

[ 
    { 
    "Key": 10.00, 
    "Value": { 
       "CompId": 10, 
       "Name": "50% Discount", 
       "Amount": 30 
      } 
    } 
]