0

私はjavascriptで2つの文字列配列を持っています

var names = [name1, name2, name3, name4];
var values = [value1, value2, value3, value4];

これらの値をバックエンドに送信する必要があります。そして、私は次のように送信しています

var nameString = "name1,name2,name3,name4";
var valuesString = "value1,value2,value3,value4";

次に、Java でマップを反復処理します。私の問題は、名前文字列から名前を削除したい場合、valueString から対応する値も削除する必要があることです。最適化された方法でJava側でこれを行う方法。

Ex: If i want to remove name3, then new strings should be like following:
  In Java side:   
     String nameString = "name1,name2,name4";
     String valueString = "value1,value2,value4";
4

2 に答える 2

1

JavaScriptで:

var data = {name1:value1, name2:value1, name3:value1, name4:value1};

(必要に応じて引用)、オブジェクトを JSON として送信し、Java で解析します。 http://www.json.org/java/

私はJava開発者ではないので、特定のコードについてはあまり役に立ちませんが、方法はすべての言語で同じです

于 2012-10-23T14:26:20.653 に答える
1

Javaでは、次のようなことができます:

public static void main(String[] args) {
    String nameString = "name1,name2,name3,name4";
    String valueString = "value1,value2,value3,value4";

    nameString = removeSection(nameString, 2);
    valueString = removeSection(valueString, 2);

    System.out.println(nameString);
    System.out.println(valueString);

}

private static String removeSection(String val, int del){
    String[] a = val.split(",");
    String[] b = new String[a.length-1];

    System.arraycopy(a,0,b,0,del);
    System.arraycopy(a,del+1,b,del,a.length-1-del);

    val = arrayToString(b);

    return val;
}

private static String arrayToString(String[] a){
    String newStr = "";
    for (int i=0; i<a.length; i++) {
        if(i==0){
            newStr += a[i];
        }else{
            newStr += ","+a[i];
        }
    }
    return newStr;
}
于 2012-10-23T14:51:05.413 に答える