Json字符串格式不正确

时间:2017-03-29 11:45:05

标签: javascript c#

我正在尝试使用以下格式获取json字符串:

[{question: "Q1", answers : [{A1},{A2},{A3}], correctAnswers : [{false},{true},{true}]}]

但我得到这种格式:

[{"question":"Q1","answers":["A1","A2","A3"],"correctAnswers":[false,true,true]}]

我如何修改代码以达到理想的格式。

var listQA = new List<QuestionAnswers>();

QuestionAnswers qa = new QuestionAnswers();
qa.question = "Q1";

qa.answers = new string[3];
qa.correctAnswers = new bool[3];

qa.answers[0] = "A1";
qa.answers[1] = "A2";
qa.answers[2] = "A3";

qa.correctAnswers[0] = false;
qa.correctAnswers[1] = true;
qa.correctAnswers[2] = true;

listQA.Add(qa);
output = JsonConvert.SerializeObject(listQA);

1 个答案:

答案 0 :(得分:1)

简短的回答,你不能。大括号定义一个json对象,所有json对象都是属性的键值对的集合。您的代码可以修改,创建如下:

[{question: "Q1", answers : [{"answer":"A1"},{"answer":"A2"},{"answer":"A3"}], correctAnswers : [{"answer":false},{"answer":true},{"answer":true}]}]

但它不可能是你想要的。同样在你的例子A1中,A2和A3不是字符串,但是你把它们作为字符串传递,所以很难看出你想用它做什么。 json有一个结构,那个结构中的元素有意义,你期望的结果是试图规避这个意义。