对象序列化就像表单数据序列化

时间:2018-08-14 13:20:58

标签: javascript jquery

我不确定我是否缺少某些东西,或者那不起作用,就像我认为的那样。我有一些要拆分的表单数据。为此,我认为我可以创建一个具有我想要的值的对象:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:minHeight="25px">
    <Button
        android:id="@+id/button1"
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/textView1" />
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Hello World" />
</RelativeLayout>

再说一次。我以为您可以像将表格数据那样将对象序列化为字符串以进行数据存储。

有人可以向我解释我做错了什么,和/或为什么序列化不起作用?

1 个答案:

答案 0 :(得分:1)

answers不是jQuery对象,因此它没有serialize()方法。如果您希望像使用jQuery的序列化一样获得名称-值对字符串,则可以使用jQuery's param方法

answers = {
  "answer1":1,
  "answer2":2
};
console.log(jQuery.param(answers));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

否则,如果您只是想将answers序列化为JSON,以便以后可以重新创建它,则只需使用JSON.stringify

    answers = {
      "answer1":1,
      "answer2":2
    };
    console.log(JSON.stringify(answers));