首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json.net格式

Json.net格式
EN

Stack Overflow用户
提问于 2014-02-28 14:49:22
回答 1查看 1.9K关注 0票数 1

我在使用api调用时遇到了json格式的问题。我需要这样的东西

代码语言:javascript
复制
{
    "token": "87dd8f93-27ad-493c-8ab1-e75c50b8fb71",
    "answers": [
        {
            "question": "Where are you from",
            "ans": "t"
        },
        {
            "question": "I am from tts",
            "ans": "f"
        }
    ]
}

我有一系列名为“答案”的散列,这是我单独使用以下内容创建的

代码语言:javascript
复制
string json = JsonConvert.SerializeObject(account, Formatting.Indented);

之后,我必须使用令牌,但使用相同的进程,我得到

代码语言:javascript
复制
{
    "token": "87dd8f93-27ad-493c-8ab1-e75c50b8fb71",
    "answers": [
        "{\r\n
            \"question\": \"Where are you from\",
            \"ans\": \"t\"
        }",
        "{\r\n
            \"question\": \"I am from tts\",
            \"ans\": \"f\"
        }"
    ]
}

 public class Account
    {
       public string question { get; set; }
       public string ans { get; set; }           
    }

在那之后

代码语言:javascript
复制
if (ansNo.IsChecked == true)
                    {
                        Account account = new Account
                        {
                            question = quizText.Text,
                            ans = "f"
                        };
                        string json = JsonConvert.SerializeObject(account, Formatting.Indented);
                        Globals.answers[counter] = json;   
                    }
                    else
                    {
                        Account account = new Account
                        {
                            question = quizText.Text,
                            ans = "t"
                        };
                        string json = JsonConvert.SerializeObject(account, Formatting.Indented);
                        Globals.answers[counter] = json;
                    }

需要帮助,谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-28 15:13:08

我认为你想要的东西可以通过重新整理你的数据来实现。创建一个要序列化以返回的新对象

代码语言:javascript
复制
public class MyJson{
    public string token {get;set;}
    public List<Account> answers {get;set;}

    public MyJson(){
        answers = new List<Account>();
    }
}

创建一个新的MyJson对象并添加令牌

代码语言:javascript
复制
MyJson o = new MyJson { token = "87dd8f93-27ad-493c-8ab1-e75c50b8fb71" }

那么就像你已经在列表中添加了答案一样

代码语言:javascript
复制
Account account = new Account{
     question = quizText.Text,
     ans = "t"
};
o.answers.Add(account);

然后序列化整个程序并将其返回

代码语言:javascript
复制
return JsonConvert.SerializeObject(o, Formatting.Indented);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22098349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档