Библиотека JSON для [закрытого] C#

Вы могли разделить строку формата на две части, и затем нижний регистр/PM часть, как так:

DateTime now = DateTime.Now;
string nowString = now.ToString("dddd, MMMM d, yyyy a\\t h:mm");
nowString = nowString + now.ToString("tt").ToLower();

Однако я думаю, что более изящное решение состоит в том, чтобы использовать DateTimeFormatInfo экземпляр , что Вы создаете и заменяете AMDesignator и PMDesignator , свойства с и "пополудни" соответственно:

DateTimeFormatInfo fi = new DateTimeFormatInfo();

fi.AMDesignator = "am";
fi.PMDesignator = "pm";

string nowString = now.ToString("dddd, MMMM d, yyyy a\\t h:mmtt", fi);

можно использовать DateTimeFormatInfo экземпляр для настройки многих других аспектов преобразования DateTime к string.

76
задан nawfal 18 January 2013 в 20:07
поделиться

7 ответов

77
ответ дан 24 November 2019 в 11:19
поделиться

Если вы посмотрите здесь, вы увидите несколько различных библиотек для JSON на C #.

http://json.org/

Вы найдете версию для LINQ, а также некоторые другие. Существует около 7 библиотек для C # и JSON.

7
ответ дан 24 November 2019 в 11:19
поделиться

Инфраструктура .net поддерживает JSON через JavaScriptSerializer. Вот хороший пример для начала.

using System.Collections.Generic;
using System.Web.Script.Serialization;

namespace GoogleTranslator.GoogleJSON
{
    public class FooTest
    {
        public void Test()
        {
            const string json = @"{
              ""DisplayFieldName"" : ""ObjectName"", 
              ""FieldAliases"" : {
                ""ObjectName"" : ""ObjectName"", 
                ""ObjectType"" : ""ObjectType""
              }, 
              ""PositionType"" : ""Point"", 
              ""Reference"" : {
                ""Id"" : 1111
              }, 
              ""Objects"" : [
                {
                  ""Attributes"" : {
                    ""ObjectName"" : ""test name"", 
                    ""ObjectType"" : ""test type""
                  }, 
                  ""Position"" : 
                  {
                    ""X"" : 5, 
                    ""Y"" : 7
                  }
                }
              ]
            }";

            var ser = new JavaScriptSerializer();
            ser.Deserialize<Foo>(json);
        }
    }

    public class Foo
    {
        public Foo() { Objects = new List<SubObject>(); }
        public string DisplayFieldName { get; set; }
        public NameTypePair FieldAliases { get; set; }
        public PositionType PositionType { get; set; }
        public Ref Reference { get; set; }
        public List<SubObject> Objects { get; set; }
    }

    public class NameTypePair
    {
        public string ObjectName { get; set; }
        public string ObjectType { get; set; }
    }

    public enum PositionType { None, Point }
    public class Ref
    {
        public int Id { get; set; }
    }

    public class SubObject
    {
        public NameTypePair Attributes { get; set; }
        public Position Position { get; set; }
    }

    public class Position
    {
        public int X { get; set; }
        public int Y { get; set; }
    }
}
14
ответ дан 24 November 2019 в 11:19
поделиться

Взгляните на систему .web.script.serialization пространство имен (я думаю, вам понадобится .Net 3.5)

3
ответ дан 24 November 2019 в 11:19
поделиться

Попробуйте проект Vici, Vici Parser. Он включает парсер / токенизатор JSON. Он отлично работает, мы используем его вместе с фреймворком MVC.

Дополнительная информация: http://viciproject.com/wiki/projects/parser/home

Я забыл сказать, что это открытый исходный код так что вы всегда можете взглянуть на код, если хотите.

0
ответ дан 24 November 2019 в 11:19
поделиться

Это то, что вы ищете?

System.Web.Script.Serialization.JavaScriptSerializer

5
ответ дан 24 November 2019 в 11:19
поделиться

Вам также следует попробовать мой ServiceStack JsonSerializer - он самый быстрый.NET JSON-сериализатор на данный момент основан на тестах ведущих сериализаторов JSON и поддерживает сериализацию любого типа POCO, DataContracts, списков / словарей, интерфейсов, наследования, объектов с поздней привязкой, включая анонимные типы и т. Д.

Базовый пример

var customer = new Customer { Name="Joe Bloggs", Age=31 };
var json = customer.ToJson();
var fromJson = json.FromJson<Customer>(); 

Примечание: используйте Microsofts JavaScriptSerializer только в том случае, если производительность не важна для вас, так как мне пришлось исключить его из моих тестов, поскольку он до 40x-100x медленнее, чем другие сериализаторы JSON .

19
ответ дан 24 November 2019 в 11:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: