Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中使用JAVA将JSON保存在字符串变量中?_Java_Android_Json_Gson - Fatal编程技术网

如何在Android中使用JAVA将JSON保存在字符串变量中?

如何在Android中使用JAVA将JSON保存在字符串变量中?,java,android,json,gson,Java,Android,Json,Gson,我是android的新手这里是JSON定义的,我需要在android中使用JAVA手动将此JSON存储在字符串变量中。我很难做到这一点。这是我尝试过的代码,但它不正确 String jsonObject = "{ { "id": 22, "menu_id": 1, "field_type_id": 1,

我是android的新手这里是JSON定义的,我需要在android中使用JAVA手动将此JSON存储在字符串变量中。我很难做到这一点。这是我尝试过的代码,但它不正确

 String jsonObject = "{


        {
                      "id": 22,
                      "menu_id": 1,
                      "field_type_id": 1,
                      "c4w_code": "1234",
                      "field_label": "Customer No",
                      "field_values": "",
                      "date_Created": "2012-09-16 05:11:23",
                      "date_modified": "2013-11-20 10:33:23",
                      "is_required": 0,
                      "is_static": 1,
                      "field_order": 1
        },
        {
                      "id": 23,
                      "menu_id": 1,
                      "field_type_id": 1,
                      "c4w_code": "1234",
                      "field_label": "Company Name",
                      "field_values": "",
                      "date_Created": "2012-09-16 05:11:56",
                      "date_modified": "2013-11-20 10:33:23",
                      "is_required": 1,
                      "is_static": 1,
                      "field_order": 3
        }

}";
我需要将它存储在字符串或JSONObject中,这样我就可以移动头部来处理它。 添加代码后:

MenuFields menuFieldInstance[];// an array of bean Class
Gson gson = new Gson();
 String jsonObjectString ="{\n\n\n {\n \"id\": 22,\n \"menu_id\": 1,\n \"field_type_id\": 1,\n \"c4w_code\": \"1234\",\n \"field_label\": \"Customer No\",\n \"field_values\": \"\",\n \"date_Created\": \"2012-09-16 05:11:23\",\n \"date_modified\": \"2013-11-20 10:33:23\",\n \"is_required\": 0,\n \"is_static\": 1,\n \"field_order\": 1\n },\n {\n \"id\": 23,\n \"menu_id\": 1,\n \"field_type_id\": 1,\n \"c4w_code\": \"1234\",\n \"field_label\": \"Company Name\",\n \"field_values\": \"\",\n \"date_Created\": \"2012-09-16 05:11:56\",\n \"date_modified\": \"2013-11-20 10:33:23\",\n \"is_required\": 1,\n \"is_static\": 1,\n \"field_order\": 3\n }\n\n}";
     @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        context = this;
                menuFieldInstance = gson.fromJson(jsonObjectString,MenuFields[].class);
           for(int i=0;i<jsonObjectString.length();i++)
           {
               Log.i("menuField Instance ",""+menuFieldInstance[i].getId());
           }
        }
MenuFields menuFieldInstance[];//bean类的数组
Gson Gson=新的Gson();
目前,n-1\n“现场”现场现场现场类型的现场类型为11:11:11 11 11:23\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n:1\n},\n{\n\id\“:23、\n\“菜单id\”:1、\n\“字段类型id\”:1、\n\“c4w\U代码”:“1234\”、\n\“字段标签”:“公司名称”、\n\“字段值”:“\”、\n\“创建日期”:“2012-09-16 05:11:56\”、\n\“修改日期”:“2013-11-20 10:33:23”、\n\“是必需的”;\n\“静态”、\n\:1、\n\“字段顺序”\n\:3;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
上下文=这个;
menuFieldInstance=gson.fromJson(jsonObjectString,MenuFields[].class);

对于(int i=0;i将所有双引号(“)替换为(\”),它将起作用。

您需要将所有(双引号)
“替换为\”
以java编译字符串对象

使用以下字符串:

String jsonObject ="{\n\n\n {\n \"id\": 22,\n\"menu_id\": 1,\n \"field_type_id\": 1,\n\"c4w_code\": \"1234\",\n\"field_label\": \"Customer No\",\n\"field_values\": \"\",\n\"date_Created\": \"2012-09-16 05:11:23\",\n\"date_modified\": \"2013-11-20 10:33:23\",\n\"is_required\":0,\n\"is_static\": 1,\n\"field_order\": 1\n},\n{\n\"id\":23,\n\"menu_id\": 1,\n\"field_type_id\": 1,\n\"c4w_code\": \"1234\",\n\"field_label\": \"Company Name\",\n\"field_values\": \"\",\n\"date_Created\": \"2012-09-16 05:11:56\",\n\"date_modified\": \"2013-11-20 10:33:23\",\n\"is_required\": 1,\n\"is_static\": 1,\n\"field_order\": 3\n}\n\n}";

工作起来很有魅力!!!

String jsonObject="{   {\"Filter\": \"No\",\"Data Type\": \"Aggregated\", \"Key-Fields\": \"Application IP, Client IP, Protocol, Application Port, Client Port\",\"Metric-fields\": \"Bandwidth, Packets\", \"Filter\":\"Enable\"   } }";

好了,Java不知道多行字符串文字。有人能给我一些指导,让我可以将json存储在字符串或JSONObject中吗?首先,它不是一个有效的json,在读取时尝试一下。你的错误是:“应该是BEGIN_数组,但它是BEGIN_对象”。然后阅读json规范:我在尝试将其放入我的Bean数组类时遇到此异常:12-30 22:56:47.745:E/AndroidRuntime(2238):由:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期的BEGIN_数组,但在第1列12-30 22:56:47.745:E/AndroidRuntime(2238)处是BEGIN_对象:在com.google.gson.gson.fromJson(gson.java:815)中,我在编辑中添加的代码请参见此。删除第一个和最后一个括号,即“{”,将其替换为“[”,并将json放在一行中。