前夕返回xml响应,而不是json

时间:2019-03-07 08:08:19

标签: json xml sqlalchemy eve

我正在从SQL数据库中获取数据的调用,以eve服务器作为后端服务器来获取数据。我正在以XML格式而不是JSON格式获取有效负载。我正在使用eve sqlalchemy。

解决此问题的解决方法是什么?我应该在设置文件中添加一些内容吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如pyeve / eve项目中的this issue所述,添加

public class MainActivity extends AppCompatActivity {
Spinner spinnercountry,spinnercountry1,spinnercountry2;
String ip, db, un, passwords;
Connection connect;
PreparedStatement stmt;
ResultSet rs;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    spinnercountry = (Spinner) findViewById(R.id.spinnerdata);
    connect = CONN(un, passwords, db, ip);
    String query1 = "select proname from barang";
    try {
        connect = CONN(un, passwords, db, ip);
        stmt = connect.prepareStatement(query1);
        rs = stmt.executeQuery();
        ArrayList<String> data = new ArrayList<String>();
        while (rs.next()) {
            String id = rs.getString("proname");
            data.add(id);
        }
        String[] array = data.toArray(new String[0]);
        ArrayAdapter NoCoreAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, data);
        spinnercountry.setAdapter(NoCoreAdapter);
    } catch (SQLException e) {
        e.printStackTrace();
    }

    spinnercountry.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            String name = spinnercountry.getSelectedItem().toString();
            Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();
        }
        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });

到settings.py文件中(自然地,您实际上不需要添加注释行)。

前一段时间我遇到了同样的问题,这解决了问题。另外,添加完后,您可以在网址中添加RENDERERS = [ 'eve.render.JSONRenderer', # 'eve.render.XMLRenderer' ] 以获得漂亮的JSON格式打印,而不是一个冗长的字符串。