问题解析数组到json
问题描述:
我的问题: 我正在写一个web应用程序来管理联系人。在服务器端,我正在使用Razor语法(C#),并且正在向我的服务器发送ajax请求,并将json编码的字符串作为标头。 test.cshtml收到如下:问题解析数组到json
var j = Json.Decode(Request["json"]);
现在我可以使用所有的对象完全罚款。但!我有一个数组在json编码的字符串,如...,"persons":[1,2,3],...
Json.Decode将它解码为一个数组,我可以使用它将数据写入我的数据库。这样做了以后,我想更新的对象发送回客户端(数组未被改变或进行任何其他与)使用:
<text>
@Html.Raw(Json.Encode(j));
@j.persons.Length;
</text>
相关人员元素是...,"persons":{},...
的输出,但人的长度应该是3。我究竟做错了什么?是否有参数来告诉Json.Encode来编码子对象和数组?
感谢您的支持
PS:@ j.persons.Length只是证明数组不为空的和现有的
答
我发现了这个问题。我有一个循环,以强类型自动生成的数组(从Json.Decode):
int[] temp = new int[j.persons.Length];
for(var i = 0;i < j.persons.Length;i++){
temp[i] = (j.persons[i] is string)?Int32.Parse(j.persons[i]):(int)j.persons[i];
}
j.persons = temp;
感谢您的做法约瑟夫的回答
答
,因为它是唯一编码的根源,没有人尝试j.as_json(:include => :persons)
谢谢,但似乎没有工作。这不是C++吗?我正在使用C#...有没有相当于它? – phippu
对不起,我在那里越过了我的语言。 j的结构是什么? –
我可以访问j.id,j.name,j.color,j.persons。 json字符串看起来像{“id”:0,“name”:“family”,“color”:“000000”,“persons”:[1,2,3]}。感谢您的帮助 – phippu