Error loading JSON

0

In the link below, I have a return of JSON :

link

is delivering the following return:

[{"ProdutosidProduto":"1","Produtostipo":"mp","Produtosmodelo":"F540 2 BAN.PNEU. 100 X 60","Produtosbandejas":"2","Produtospeso":"0","Produtosprensagem":"0","ProdutosprecoUnitario":"6500","Produtoscomprimento":"100","Produtoslargura":"60","Produtoscabo":"0","Produtosligacao":"n","Produtospotencia":"0","Produtosconsumo":"0","Produtoscorrente":"0","Produtosdisjuntor":"0","Produtosdescricao":"
Bom Produto","Produtosestoque":"7","ProdutosfreteGratis":"s","Produtosbloqueado":"n"},

Yes, there is more payback. However, I have just put this one to not be more extensive than this question is.

And in my app , I have the following código :

package com.example.carlos.radiosingular;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

import com.example.carlos.radiosingular.classes.Produtos;

public class form extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.form);
        List<Produtos> produtos = jSon("http://www.hotplateprensas.com.br/ws/produtos.php");

        for (Produtos p : produtos) {
            System.out.println(p.getModelo());
        }
    }

    private List<Produtos> jSon(String jsonString) {

        List<Produtos> produtos = new ArrayList<Produtos>();

        try {
            JSONArray produtosLists = new JSONArray(jsonString);
            System.out.println(produtosLists);
            JSONObject produtosList = produtosLists.getJSONObject(0);
            JSONArray produtosArray = produtosList.getJSONArray("produtos");

            JSONObject produto;

            for (int i = 0; i < produtosArray.length(); i++) {
                produto = new JSONObject(produtosArray.getString(i));
                Produtos produtoCada = new Produtos(

                        produto.getInt("ProdutosidProduto"),
                        produto.getString("Produtostipo"),
                        produto.getString("Produtosmodelo"),
                        produto.getInt("Produtosbandejas"),
                        produto.getInt("Produtospeso"),
                        produto.getInt("Produtosprensagem"),
                        produto.getInt("ProdutosprecoUnitario"),
                        produto.getInt("Produtoscomprimento"),
                        produto.getInt("Produtoslargura"),
                        produto.getString("Produtoscabo"),
                        produto.getString("Produtosligacao"),
                        produto.getInt("Produtospotencia"),
                        produto.getInt("Produtosconsumo"),
                        produto.getInt("Produtoscorrente"),
                        produto.getInt("Produtosdisjuntor"),
                        produto.getString("Produtosdescricao"),
                        produto.getInt("Produtosestoque"),
                        produto.getString("ProdutosfreteGratis"),
                        produto.getString("Produtosbloqueado")
                );
                produtos.add(produtoCada);
            }
        } catch (JSONException e) {
            Log.e("HOT PLATE PRENSAS", "Erro no parsing do JSON", e);
        }

        return produtos;
    }

}

The goal is to print an object at first.

But the console RUN exits the following error:

E/HOT PLATE PRENSAS: Erro no parsing do JSON
    org.json.JSONException: Value http of type java.lang.String cannot be converted to JSONArray
        at org.json.JSON.typeMismatch(JSON.java:111)
        at org.json.JSONArray.<init>(JSONArray.java:96)
        at org.json.JSONArray.<init>(JSONArray.java:108)
        at com.example.carlos.radiosingular.form.jSon(form.java:43)
        at com.example.carlos.radiosingular.form.onCreate(form.java:24)
        at android.app.Activity.performCreate(Activity.java:6687)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1140)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2631)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2743)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1490)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6165)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
I/ViewConfigCompat: Could not find method getScaledScrollFactor() on ViewConfiguration
W/art: Before Android 4.1, method int android.support.v7.widget.DropDownListView.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
D/OpenGLRenderer: endAllActiveAnimators on 0x8e5d8c00 (RippleDrawable) with handle 0x8e5d5ea0

Here is the class Produtos :

package com.example.carlos.radiosingular.classes;

public class Produtos {

private int idProduto;
private String tipo;
private String modelo;
private int bandejas;
private int peso;
private int prensagem;
private int precoUnitario;
private int comprimento;
private int largura;
private String cabo;
private String ligacao;
private int potencia;
private int consumo;
private int corrente;
private int disjuntor;
private String descricao;
private int estoque;
private String freteGratis;
private String bloqueado;

    public Produtos(
            int idProduto,
            String tipo,
            String modelo,
            int bandejas,
            int peso,
            int prensagem,
            int precoUnitario,
            int comprimento,
            int largura,
            String cabo,
            String ligacao,
            int potencia,
            int consumo,
            int corrente,
            int disjuntor,
            String descricao,
            int estoque,
            String freteGratis,
            String bloqueado) {
        this.idProduto = idProduto;
        this.tipo = tipo;
        this.modelo = modelo;
        this.bandejas = bandejas;
        this.peso = peso;
        this.prensagem = prensagem;
        this.precoUnitario = precoUnitario;
        this.comprimento = comprimento;
        this.largura = largura;
        this.cabo = cabo;
        this.ligacao = ligacao;
        this.potencia = potencia;
        this.consumo = consumo;
        this.corrente = corrente;
        this.disjuntor = disjuntor;
        this.descricao = descricao;
        this.estoque = estoque;
        this.freteGratis = freteGratis;
        this.bloqueado = bloqueado;
    }

    public int getIdProduto() {
        return idProduto;
    }

    public String getTipo() {
        return tipo;
    }

    public String getModelo() {
        return modelo;
    }

    public int getBandejas() {
        return bandejas;
    }

    public int getPeso() {
        return peso;
    }

    public int getPrensagem() {
        return prensagem;
    }

    public int getPrecoUnitario() {
        return precoUnitario;
    }

    public int getComprimento() {
        return comprimento;
    }

    public int getLargura() {
        return largura;
    }

    public String getCabo() {
        return cabo;
    }

    public String getLigacao() {
        return ligacao;
    }

    public int getPotencia() {
        return potencia;
    }

    public int getConsumo() {
        return consumo;
    }

    public int getCorrente() {
        return corrente;
    }

    public int getDisjuntor() {
        return disjuntor;
    }

    public String getDescricao() {
        return descricao;
    }

    public int getEstoque() {
        return estoque;
    }

    public String getFreteGratis() {
        return freteGratis;
    }

    public String getBloqueado() {
        return bloqueado;
    }

}

No printa nothing on the screen.

Where am I going wrong that is falling on

Log.e("HOT PLATE PRENSAS", "Erro no parsing do JSON", e);

?

    
asked by anonymous 11.12.2018 / 19:58

1 answer

0

What you have there is a json inside a json. You'll have to do something similar with this:

JSONObject cli = new JSONObject();
cli = (JSONObject) clientes.get(0);
JSONArray client = cli.getJSONArray("NomeCliente");
JSONArray cCpf = cli.getJSONArray("CPFCliente");
SONArray cId = cli.getJSONArray("IdCliente");

Where the client is the variable that is storing the return from php

    
11.12.2018 / 20:19