The React Native Button очень ограничен в том, что вы можете сделать, см. Кнопка
У нее нет поддержки стиля, и вы не устанавливаете текст «веб-способом», как , но через свойство title
Если вы хотите больше контролировать внешний вид, вы должны использовать один из компонентов TouchableXXXX, таких как TouchableOpacity . Они очень просты в использовании: -)
Вы можете использовать классы, найденные в System.Json Namespace , которые были добавлены в .NET 4.5. Вам нужно добавить ссылку на сборку System.Runtime.Serialization
Метод JsonValue.Parse () анализирует текст JSON и возвращает JsonValue :
JsonValue value = JsonValue.Parse(@"{ ""name"":""Prince Charming"", ...");
Если вы передадите строку с объектом JSON, вы сможете записать это значение в JsonObject :
using System.Json;
JsonObject result = value as JsonObject;
Console.WriteLine("Name .... {0}", (string)result["name"]);
Console.WriteLine("Artist .. {0}", (string)result["artist"]);
Console.WriteLine("Genre ... {0}", (string)result["genre"]);
Console.WriteLine("Album ... {0}", (string)result["album"]);
Классы очень похожи на классы, найденные в System.Xml.Linq Namespace .
Я выпустил .NET-библиотеку под названием Tiferix.Json, которая позволяет сериализовать и десериализовать Json-файлы в и из объектов ADO.Net DataSet и DataTable. Этот проект является незавершенным и в ближайшие 6 месяцев (надеюсь) я расширю функциональность, чтобы разрешить сериализацию различных типов .Net-классов и объектов, включая динамические классы и анонимные типы. На данный момент библиотека Tiferix.Json не имеет сырой JsonDataReader, но имеет довольно мощный класс JsonDataWriter, который может записывать Json-файлы одним типом типа .NET Binary или StreamWriter. JsonDataWriter библиотеки Tiferix.Json также имеет возможность автоматически идентифицировать ваши файлы Json, что является очень полезной функцией, которую я не видел ни в одной другой библиотеке Json, включая Json.Net.
Если вам интересно, вы можете просмотреть проект Tiferix.Json на моей странице Github и загрузить библиотеки и библиотеки dll. Tiferix.Json предлагает гораздо более легкую альтернативу более широкой библиотеке Json.Net, а также менее жесткую и удобную в использовании (на мой взгляд), чем родные классы .Net Json.
Я использую это ... но никогда не занимался разработкой приложений для метро, поэтому я не знаю никаких ограничений на доступные вам библиотеки. (обратите внимание, что вам нужно будет пометить ваши классы, как с атрибутами DataContract и DataMember)
public static class JSONSerializer<TType> where TType : class
{
/// <summary>
/// Serializes an object to JSON
/// </summary>
public static string Serialize(TType instance)
{
var serializer = new DataContractJsonSerializer(typeof(TType));
using (var stream = new MemoryStream())
{
serializer.WriteObject(stream, instance);
return Encoding.Default.GetString(stream.ToArray());
}
}
/// <summary>
/// DeSerializes an object from JSON
/// </summary>
public static TType DeSerialize(string json)
{
using (var stream = new MemoryStream(Encoding.Default.GetBytes(json)))
{
var serializer = new DataContractJsonSerializer(typeof(TType));
return serializer.ReadObject(stream) as TType;
}
}
}
Итак, если у вас был такой класс ...
[DataContract]
public class MusicInfo
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Artist { get; set; }
[DataMember]
public string Genre { get; set; }
[DataMember]
public string Album { get; set; }
[DataMember]
public string AlbumImage { get; set; }
[DataMember]
public string Link { get; set; }
}
Тогда вы будете использовать его так:
var musicInfo = new MusicInfo
{
Name = "Prince Charming",
Artist = "Metallica",
Genre = "Rock and Metal",
Album = "Reload",
AlbumImage = "http://up203.siz.co.il/up2/u2zzzw4mjayz.png",
Link = "http://f2h.co.il/7779182246886"
};
// This will produce a JSON String
var serialized = JSONSerializer<MusicInfo>.Serialize(musicInfo);
// This will produce a copy of the instance you created earlier
var deserialized = JSONSerializer<MusicInfo>.DeSerialize(serialized);
Для тех, у кого нет 4.5, вот моя библиотечная функция, которая читает json. Для этого требуется ссылка на проект System.Web.Extensions
.
using System.Web.Script.Serialization;
public object DeserializeJson<T>(string Json)
{
JavaScriptSerializer JavaScriptSerializer = new JavaScriptSerializer();
return JavaScriptSerializer.Deserialize<T>(Json);
}
Обычно json выписывается на основе контракта. Этот контракт может и обычно будет кодифицирован в классе (T
). Иногда вы можете взять слово из json и искать в браузере объекта, чтобы найти этот тип.
Пример использования:
С учетом json
{"logEntries":[],"value":"My Code","text":"My Text","enabled":true,"checkedIndices":[],"checkedItemsTextOverflows":false}
Вы может анализировать его на объект RadComboBoxClientState
следующим образом:
string ClientStateJson = Page.Request.Form("ReportGrid1_cboReportType_ClientState");
RadComboBoxClientState RadComboBoxClientState = DeserializeJson<RadComboBoxClientState>(ClientStateJson);
return RadComboBoxClientState.Value;
Вы пытались использовать JavaScriptSerializer
? Также есть DataContractJsonSerializer
JavaScriptSerializer
: На этой записи его страница MSDN рекомендует вместо этого использовать Json.NET .
– mklement0
28 November 2016 в 21:17
PM> Install-Package System.Json -Version 4.0.20126.16343
. Найдите текущую версию здесь: nuget.org/packages/System.Json – Adam K Dean 30 March 2013 в 14:12