这个错误是什么?我怎样才能解决这个问题?我的应用正在运行,但无法加载数据.这是我的错误:使用JsonReader.setLenient(true)接受第1行第1列路径的格式错误的JSON $
这是我的片段:
public class news extends Fragment {
private RecyclerView recyclerView;
private ArrayList<Deatails> data;
private DataAdapter adapter;
private View myFragmentView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myFragmentView = inflater.inflate(R.layout.news, container, false);
initViews();
return myFragmentView;
}
private void initViews() {
recyclerView = (RecyclerView) myFragmentView.findViewById(R.id.card_recycler_view);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity().getApplicationContext());
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(layoutManager);
data = new ArrayList<Deatails>();
adapter = new DataAdapter(getActivity(), data);
recyclerView.setAdapter(adapter);
new Thread()
{
public void run()
{
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() { …Run Code Online (Sandbox Code Playgroud) 我正在使用gson将json字符串转换为Java-Object.值RESULT2是完全一样的值RESULT1.(从调试器复制;添加了反斜杠)
转换result1时抛出以下异常: com.google.gson.JsonSyntaxException:com.google.gson.stream.MalformedJsonException:第1行第170列的预期EOF
转换result2工作正常.
根据jsonlint.com,json字符串有效.
public static Userinfo getUserinfo()
{
String result1 = http.POST("https://www.bitstamp.net/api/balance/",
postdata, true);
String result2 = "{\"btc_reserved\": \"0\", \"fee\": \"0.5000\", \"btc_available\": \"0.10000000\", \"usd_reserved\": \"0\", \"btc_balance\": \"0.10000000\", \"usd_balance\": \"30.00\", \"usd_available\": \"30.00\"}";
Gson gson = new Gson();
Userinfo userinfo1 = gson.fromJson(result1, Userinfo.class); //throws Exception
Userinfo userinfo2 = gson.fromJson(result2, Userinfo.class); //works fine
return userinfo1;
}
private class Userinfo {
public Userinfo(){
}
public float usd_balance;
public float btc_balance ;
public …Run Code Online (Sandbox Code Playgroud) 如何使用改造上传多个文件,
我尝试使用以下代码上传文件:
ApiService:
@Multipart
@POST("uploadData.php")
Call<ServerResponse> uploadFile(@Part MultipartBody.Part file,
@Part("name") RequestBody name,
@Part MultipartBody.Part img,
@Part("imgname") RequestBody imgname);
Run Code Online (Sandbox Code Playgroud)
和上传方法:
private void uploadFile() {
File file = new File(Environment.getExternalStorageDirectory() + "/Download/audio2.wav");
File file2 = new File(Environment.getExternalStorageDirectory() + "/Download/Salty.png");
RequestBody mFile = RequestBody.create(MediaType.parse("audio/*"), file);
MultipartBody.Part fileToUpload = MultipartBody.Part.createFormData("file", file.getName(), mFile);
RequestBody filename = RequestBody.create(MediaType.parse("text/plain"), file.getName());
RequestBody mFile2 = RequestBody.create(MediaType.parse("image/*"), file2);
MultipartBody.Part fileToUpload2 = MultipartBody.Part.createFormData("file", file2.getName(), mFile2);
RequestBody filename2 = RequestBody.create(MediaType.parse("text/plain"), file2.getName());
ApiService uploadImage = ApiClient.getClient().create(ApiService.class);
Call<ServerResponse> fileUpload = uploadImage.uploadFile(fileToUpload, …Run Code Online (Sandbox Code Playgroud)