使用xamarin.forms进行Json解析

时间:2018-12-05 07:19:48

标签: json xamarin.forms jsonparser

嗨,我对xamarin开发非常陌生,我想解析一个简单的Json响应并显示来自服务器的消息。 Json格式如下所示。

{"email": {"message": "Email already Verified"}}

有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

有一项很棒的服务QuickType.io,您可以在其中复制JSON,选择目标语言并获得反序列化的有效示例。

以下是您在上面共享的JSON生成的输出:

// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
//    using QuickType;
//
//    var welcome = Welcome.FromJson(jsonString);

namespace QuickType
{
    using System;
    using System.Collections.Generic;

    using System.Globalization;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;

    public partial class Welcome
    {
        [JsonProperty("email")]
        public Email Email { get; set; }
    }

    public partial class Email
    {
        [JsonProperty("message")]
        public string Message { get; set; }
    }

    public partial class Welcome
    {
        public static Welcome FromJson(string json) => JsonConvert.DeserializeObject<Welcome>(json, QuickType.Converter.Settings);
    }

    public static class Serialize
    {
        public static string ToJson(this Welcome self) => JsonConvert.SerializeObject(self, QuickType.Converter.Settings);
    }

    internal static class Converter
    {
        public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
        {
            MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
            DateParseHandling = DateParseHandling.None,
            Converters =
            {
                new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
            },
        };
    }
}

答案 1 :(得分:0)

感谢所有人提供的帮助,经过一些研究,我创建了一个类来保存JSON的值并解决了这些问题,

我在下面添加的解决方案

public class Email
{
    public string message { get; set; }
}

public class Success
{
    public Email email { get; set; }
}