Rumah > Java > Laluan tidak boleh ditemui menggunakan java

Laluan tidak boleh ditemui menggunakan java

PHPz
Lepaskan: 2024-02-14 10:51:18
ke hadapan
1262 orang telah melayarinya

Tidak dapat mencari laluan menggunakan Safe Java? jangan risau! Editor PHP Xinyi memberi anda penyelesaian. Semasa pembangunan Java, anda kadangkala menghadapi masalah bahawa laluan yang ditentukan tidak dapat ditemui Ini mungkin disebabkan oleh tetapan laluan fail yang salah atau fail tidak wujud. Artikel ini akan memberi anda butiran tentang cara menyelesaikan masalah ini dan menyediakan beberapa penyelesaian biasa. Mari kita meneroka bersama-sama!

Kandungan soalan

Ini kod saya, saya cuba tetapkan nilai dalam format json:

{"details": "{\"user\":\"user1\",\"password\":\"1234\"}"}
Salin selepas log masuk

Di sini saya perlu menetapkan data dalam pengguna dan lulus tetapi ia disertakan dalam petikan berganda ("").

Saya mencuba jalan dengan detail.user tetapi tidak berjaya:

ObjectMapper mapper = new ObjectMapper(); 
ObjectNode node = (ObjectNode) mapper.readTree(new File(templatePath)); 

// System.out.println(node); 

Configuration config = Configuration.builder()
    .jsonProvider(new JacksonJsonNodeJsonProvider())
    .mappingProvider(new JacksonMappingProvider()).build(); 
    
json = JsonPath.using(config).parse(node);

for (int i = 0; i < list.size(); i++) {
    String x = list.get(i); 
    arr = x.split(": "); 
    String newHeader = arr[0].replace("|", "."); 
    
    if (newHeader.contains("[")) { 
        String nHeader = "$." + newHeader; 
        String actualVal; 
        if (arr.length >= 2) { 
            actualVal = arr[1]; 
        } else { 
            actualVal = ""; 
        } 
        json.set(nHeader, actualVal).jsonString(); 
    } else { 
        String actualVal; 
        if (arr.length >= 2) { 
            actualVal = arr[1]; 
        } else { 
            actualVal = ""; 
        } 
        json.set(newHeader, actualVal).jsonString(); 
    }
}
Salin selepas log masuk

Saya cuba menggunakan kod di atas untuk menetapkan data. Tetapi saya menerima exception.

Penyelesaian

Rujuk kod berikut dan cuba kemas kini objek anda. Anda boleh menggunakan gson atau jackson untuk mengendalikan objek json. Sila buat kerja sebelum menghantar soalan.

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonUpdateExample {

public static void main(String[] args) {
    // Sample JSON string
    String jsonString = "{\"name\":\"John\", \"age\":25, \"city\":\"New York\"}";

    // Field to update
    String fieldToUpdate = "age";
    
    // New value for the field
    int newValue = 30;

    // Update the JSON
    String updatedJson = updateJsonField(jsonString, fieldToUpdate, newValue);

    // Print the updated JSON
    System.out.println(updatedJson);
}

private static String updateJsonField(String jsonString, String fieldToUpdate, int newValue) {
    try {
        // Create ObjectMapper
        ObjectMapper objectMapper = new ObjectMapper();

        // Read the JSON string into a JsonNode
        JsonNode jsonNode = objectMapper.readTree(jsonString);

        // Update the field
        ((ObjectNode) jsonNode).put(fieldToUpdate, newValue);

        // Convert the updated JsonNode back to a JSON string
        return objectMapper.writeValueAsString(jsonNode);
    } catch (Exception e) {
        e.printStackTrace();
        return jsonString; // return the original JSON in case of an error
    }
}
}
Salin selepas log masuk

Atas ialah kandungan terperinci Laluan tidak boleh ditemui menggunakan java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan