具有此代码的json输出是什么?

时间:2017-03-22 16:06:18

标签: php arrays json

我得到了这个代码来实现,以便我可以在API上传递它。问题是我作为示例提交的代码不是用PHP编写的。我甚至不确定这是什么编程语言。

所以这就是代码:

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输出是什么。

如果我没有正确解释,请道歉。如果有什么不清楚的地方让我知道,我会正确回答。 对你的帮助表示感谢!谢谢! :)

2 个答案:

答案 0 :(得分:0)

我必须写一个正确格式的答案,但JSON看起来像这样:

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

如果顶级对象有一个键(在这种情况下是十进制):

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

请注意,即使每个键的键都是小数,JSON键也必须是字符串。如果您需要使用它,您必须投射浮动或双重。当然在PHP中,你不必演员,但这是一种很好的做法。

答案 1 :(得分:0)

因为这是一个使用的C#Dictionary对象,所以JSON看起来像这样:

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