这是json数据格式吗?
string json = {"answer":"Line 1","mark": 1},{"answer":"Line 3","mark": 1}
我尝试下面的代码,但它只使用一个参数。例如:{"answer":"Line 1","mark": 1}
。我尝试拆分json字符串,但这不是最佳方式。
JObject jObject = JObject.Parse(json );
string asw = jObject["answer"].ToString();
int mark = (int)jObject["mark"];
txtAnswer.Text = asw + "////" + mark + "\n";
答案 0 :(得分:3)
这是一个非常基本的JSON问题,任何数量的教程都可以为您解答。
JSON是否有效?不,JSONLint可以告诉你。
你怎么看?
首先,将JSON包装在方括号中,使其有效。
然后,定义class
以将记录存储在:
public class Something
{
public string answer { get; set; }
public string mark { get; set; }
}
最后,使用JSON.Net将您的字符串转换为这些记录的列表。
string json = "[{\"answer\":\"Line 1\",\"mark\": 1},{\"answer\":\"Line 3\",\"mark\": 1}]";
List<Something> records = JsonConvert.DeserializeObject<List<Something>>(json); // JSON.Net
foreach (Something record in records)
{
System.Diagnostics.Trace.WriteLine(string.Format("Answer: {0}, Mark: {1}", record.answer, record.mark));
}
这很容易。
答案 1 :(得分:1)
这是json数据格式吗?
string json = {"answer":"Line 1","mark": 1},{"answer":"Line 3","mark": 1}
不,你所拥有的东西看起来不像有效的C#或 JSON。尝试将其放入JSON数组中,然后放入正确的字符串中:
string json = "[{\"answer\":\"Line 1\",\"mark\": 1},{\"answer\":\"Line 3\",\"mark\": 1}]";
(希望我能在那里逃跑。)
这是以下JSON的C#转义等价物:
[{"answer":"Line 1","mark": 1}, {"answer":"Line 3","mark": 1}]
然后阅读JObject.Parse()
了解更多信息。
答案 2 :(得分:-3)
是的,它是json格式。但是有多个对象。你没有循环它。一种方法可能是
dynamic dynJson = JsonConvert.DeserializeObject(json);
foreach (var item in dynJson)
{
Console.WriteLine("{0} {1}\n", item.answer, item.mark);
}