C#Dictionary to Sorted JSON

时间:2013-04-30 09:08:38

标签: c# json dictionary

我在C#web项目(MVC4)中有一个字典,我需要通过AJAX调用获取并返回一个jSON。这部分都很好,但返回的数据按字典的键排序。我找不到按值排序的方法。复杂的是值是一个由字符串和int组成的对象。所以结构是

<key, <object>> 

其中对象是字符串,int

我无法更改字典的结构,因为它在页面创建时在应用程序的其他部分中使用。

关于如何实现这一目标的任何想法?

如果不是,我将重建c#方面的结构。

TA

1 个答案:

答案 0 :(得分:4)

假设你有一个带有int和字符串的类

public class MyObj 
{
    public int iValue { get; set; } 
    public string sValue { get; set; } 
}

您可以按值的值对字典进行排序:

var dictionary = new Dictionary<TKey, MyObj>();

var sortedKeyValuePair = dictionary.OrderBy(kvp => kvp.Value.iValue).ToList();

结果是List < KeyValuePair < TKey, MyObj> >按对象的int值排序。