我有一个JSON,它可以是单个对象,也可以是同一个对象的数组.有没有办法使用Gson解析这些数据,它会区分单个对象和数组?
我目前唯一的解决方案是手动解析json并使用try catch包围它.首先,我将尝试将其解析为单个对象,如果失败,它将抛出异常,然后我将尝试将其解析为数组.
我不想手动解析它...这将永远带我.这是一个关于发生了什么的想法.
public class ObjectA implements Serializable{
public String variable;
public ObjectB[] objectb; //or ObjectB objectb;
public ObjectA (){}
}
Run Code Online (Sandbox Code Playgroud)
这是可以是数组或单个对象的对象.
public class ObjectB implements Serializable{
public String variable1;
public String variable2;
public ObjectB (){}
}
Run Code Online (Sandbox Code Playgroud)
然后在与json响应交互时.我这样做.
Gson gson = new Gson();
ObjectA[] objectList = gson.fromJson(response, ObjectA[].class);
Run Code Online (Sandbox Code Playgroud)
当ObjectA的数组被序列化时,json包含ObjectB的数组或单个对象.
[
{
"variable": "blah blah",
"objectb": {
"variable1": "1",
"variable2": "2"
}
},
{
"variable": "blah blah",
"objectb": {
"variable1": "1",
"variable2": "2"
}
},
{
"variable": "blah blah",
"objectb": …Run Code Online (Sandbox Code Playgroud) 在昨天更新Google Hangouts(2014年12月15日)之后,尝试预先填充短信的正文/邮件是行不通的.
sendIntent.putExtra("sms_body", text);
sendIntent.putExtra(Intent.EXTRA_TEXT, text);
Run Code Online (Sandbox Code Playgroud)
任何人都有解决方案来解决这个问题,还是我们必须等待谷歌的更新?
将Android应用主题设置为Theme.AppCompat.NoActionBar,但是当我这样做时
android:textColor="@color/black"
Run Code Online (Sandbox Code Playgroud)
对于xml布局中的TextView,颜色不会改变.
但是,一切都适用于Android 6.0设备,但它不适用于Android 5.0或4.0.3.
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="23" />
Run Code Online (Sandbox Code Playgroud)
设置背景颜色很好.它只是不同视图的文本颜色.
compile 'com.android.support:support-v4:+'
compile 'com.android.support:appcompat-v7:+'
Run Code Online (Sandbox Code Playgroud)