繁体   English   中英

在Android中将输入字符串转换为JsonArray

[英]Convert input String into JsonArray in Android

我想将输入坐标转换为 JsonArray。 我是 android 新手,有人可以帮助我如何将输入双坐标转换为 json 数组我已将双值作为输入坐标并尝试将其转换为字符串 n 已将其放入 jsonObjects 但我想将其放入 JsonArray这样多个输入坐标将有多个对象。 这是我的代码。 我想转换 JsonArray 中的字符串

public class MainActivity extends AppCompatActivity {
    Button submit;
    TextView test;
    EditText longi;
    EditText lati;
    JSONArray array =null;
    JSONObject object = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        longi = (EditText) findViewById(R.id.longi);
        lati = (EditText) findViewById(R.id.lati);
        submit = (Button) findViewById(R.id.Submit);
        double longdata = 21.483638;
        double latidata = 24.6425675;
        final String json = "{\"longitude\":" + "\"" + String.valueOf(longdata) + "\"" + "," + "\"latitude\":" + "\"" + String.valueOf(latidata) + "\"" + "}";
        submit.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.KITKAT)
            @Override
            public void onClick(View view) {
                try {
                    JSONObject obj = new JsonObject(json);
                    Log.d("My App",obj.toString());
                    }
                } catch (Throwable t) {
                     Log.d("My App","Could not parse malformed JSON:"+json+" ");
                }
            }
        });
}
}

您将经度和纬度声明为常量。 您将如何获得多个 long 和 lat 值?

如果我假设它是正确的,您想将经度和纬度转换为数组,那么首先,您需要在这里声明 2 个数组,这是一个示例

 List<Double> longitudeList = new ArrayList<>();
    longitudeList.add(21.483638);
    List<Double> latitudeList = new ArrayList<>();
    latitudeList.add(24.6425675);

    final String json =
        "{\"longitude\":["
            + longitudeList.stream().map(Object::toString).collect(Collectors.joining(","))
            + "],\"latitude\":["
            + latitudeList.stream().map(Object::toString).collect(Collectors.joining(","))
            + "]}";

如果你这样做,你的 json 看起来像这样

{"longitude":[21.483638],"latitude":[24.6425675]}

然后将其传递给 JSONobject 构造函数并应用您的逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM