C# Json对象解析错误
我将数据作为字符串存储在cassandra数据库中,我希望检索字符串并将其转换为json。我听到一个例外的说法 发生类型为“Newtonsoft.Json.JsonReaderException”的未处理异常 存储的数据是否有问题?还是我做错了什么 我的问题是:C# Json对象解析错误,c#,json,cassandra,C#,Json,Cassandra,我将数据作为字符串存储在cassandra数据库中,我希望检索字符串并将其转换为json。我听到一个例外的说法 发生类型为“Newtonsoft.Json.JsonReaderException”的未处理异常 存储的数据是否有问题?还是我做错了什么 我的问题是: INSERT INTO table2(key1,col1) values ('5',{'url':'{"hello": {"hi":{"hey":"1","time":"5"}}, {"reg":{"hey":"1","
INSERT INTO table2(key1,col1) values ('5',{'url':'{"hello":
{"hi":{"hey":"1","time":"5"}},
{"reg":{"hey":"1","time":"1"}},
{"install":{"hey":"0"}}},
"task":"1","retry":"00",
"max":"5","call":"140"'});
In my db when i click the map<text,text> column, it gets stored as :
{\"hello\":\r\n
{\"subscription_atrisk\":{\"hey\":\"1\",\"time\":\"100\"}},
{\"reg\":{\"hey\":\"1\",\"time\":\"2000\"}},
\"task\":\"0\",\"retry\":\"300\",\"max\":\"5\",\"call\":\"14400\"}
有人能解释一下吗?看起来你错过了一个结束语
}
尝试:
在JSON中,对象应该包含一个键和一个值或另一个对象/数组。 JSON对象中存在语法错误。首先,始终使用双引号 然后。。。
url
对象有一个键Hello
,但是在你应该放置另外两个键的地方,你只需要放置另外两个对象,就像它是一个数组一样
这可能是正确的语法:
{
"url": {
"hello": {
"hi": {
"hey": "1",
"time": "5"
}
},
"MissingKey1":{
"reg": {
"hey": "1",
"time": "1"
}
},
"MissingKey2":{
"install": {
"hey": "0"
}
}
},
"task": "1",
"retry": "00",
"max": "5",
"call": "140"
}
或者,如果您真的想在url
中有一个hello
对象和另外两个对象的数组:
{
"url": {
"hello": {
"hi": {
"hey": "1",
"time": "5"
}
},
"AnArray": [{
"reg": {
"hey": "1",
"time": "1"
}
}, {
"install": {
"hey": "0"
}
}]
},
"task": "1",
"retry": "00",
"max": "5",
"call": "140"
}
我建议在将这些JSON对象存储到数据库中之前,始终验证它们,以确保它们的语法有效
或者更好:这个Newtonsoft库提供了从其他对象序列化(创建)JSON字符串的函数。看
一般来说,查看API文档是一个好主意,它确实可以为您节省大量时间,这样您就不必做不必要的工作 我认为你的JSON是无效的,因为它缺少一个右大括号。我仍然认为你的JSON是无效的,不要手动形成它。创建一个对象并序列化它以获得一个有效的json…是的,但你也缺少一个键。我把它写为“丢失钥匙”我没有丢失任何钥匙,就是这样
{
"url": {
"hello": {
"hi": {
"hey": "1",
"time": "5"
}
},
"MissingKey1":{
"reg": {
"hey": "1",
"time": "1"
}
},
"MissingKey2":{
"install": {
"hey": "0"
}
}
},
"task": "1",
"retry": "00",
"max": "5",
"call": "140"
}
{
"url": {
"hello": {
"hi": {
"hey": "1",
"time": "5"
}
},
"AnArray": [{
"reg": {
"hey": "1",
"time": "1"
}
}, {
"install": {
"hey": "0"
}
}]
},
"task": "1",
"retry": "00",
"max": "5",
"call": "140"
}