问题解析数组到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)

+0

谢谢,但似乎没有工作。这不是C++吗?我正在使用C#...有没有相当于它? – phippu

+0

对不起,我在那里越过了我的语言。 j的结构是什么? –

+0

我可以访问j.id,j.name,j.color,j.persons。 json字符串看起来像{“id”:0,“name”:“family”,“color”:“000000”,“persons”:[1,2,3]}。感谢您的帮助 – phippu