我正在尝试使用以下格式获取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);
答案 0 :(得分:1)
简短的回答,你不能。大括号定义一个json对象,所有json对象都是属性的键值对的集合。您的代码可以修改,创建如下:
[{question: "Q1", answers : [{"answer":"A1"},{"answer":"A2"},{"answer":"A3"}], correctAnswers : [{"answer":false},{"answer":true},{"answer":true}]}]
但它不可能是你想要的。同样在你的例子A1中,A2和A3不是字符串,但是你把它们作为字符串传递,所以很难看出你想用它做什么。 json有一个结构,那个结构中的元素有意义,你期望的结果是试图规避这个意义。